<!DOCTYPE html>
<html>
<head>
<link rel="stylesheet" href="//cdnjs.cloudflare.com/ajax/libs/leaflet/0.7.3/leaflet.css" data-require="leaflet@0.7.3" data-semver="0.7.3" />
<link rel="stylesheet" href="style.css" />
</head>
<body>
<div id="map"></div>
<script type="text/javascript" src="https://code.jquery.com/jquery-2.1.3.min.js"></script>
<script type="text/javascript" src="//cdnjs.cloudflare.com/ajax/libs/leaflet/0.7.3/leaflet.js" data-require="leaflet@0.7.3" data-semver="0.7.3"></script>
<script type="text/javascript" src="L.CustomMarker.js"></script>
<script type="text/javascript" src="script.js"></script>
</body>
</html>
var map = L.map('map', {
'center': [0, 0],
'zoom': 1,
'layers': [
L.tileLayer('http://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png', {
'attribution': 'Map data © OpenStreetMap contributors'
})
]
});
var customMarker = L.customMarker([0,0]).addTo(map);
/*$.getJSON(url, function (geojson) {
L.geoJson(geojson, {
style: function (feature) {
return {
'weight': 1,
'color': 'black',
'fillColor': 'yellow'
}
}
}).addTo(map);
});*/
body {
margin: 0;
}
html, body, #map {
height: 100%;
}
L.CustomMarker = L.Marker.extend({
onAdd: function (map) {
this.on('click', this.clickHandler);
L.Marker.prototype.onAdd.call(this, map);
},
onRemove: function (map) {
this.off('click', this.clickHandler);
L.Marker.prototype.onRemove.call(this, map);
},
clickHandler: function (e) {
$.getJSON('data.json', function (data) {
e.target.bindPopup(data.myProperty);
e.target.openPopup();
}, this);
}
});
L.customMarker = function (latLng, options) {
return new L.CustomMarker(latLng, options);
}
{
"myProperty": "myValue"
}