2011-06-18 00:45:04 +08:00
|
|
|
<!DOCTYPE html>
|
|
|
|
<html>
|
|
|
|
<head>
|
2013-11-15 02:34:49 +08:00
|
|
|
<title>Leaflet GeoJSON Example</title>
|
2012-07-28 14:41:12 +08:00
|
|
|
<meta charset="utf-8" />
|
2012-02-14 23:02:29 +08:00
|
|
|
|
|
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
|
|
|
2016-09-03 13:56:05 +08:00
|
|
|
<link rel="stylesheet" href="https://unpkg.com/leaflet@1.0.0-rc.3/dist/leaflet.css" />
|
2011-06-18 00:45:04 +08:00
|
|
|
</head>
|
|
|
|
<body>
|
2011-09-21 14:08:12 +08:00
|
|
|
<div id="map" style="width: 600px; height: 400px"></div>
|
2011-06-18 00:45:04 +08:00
|
|
|
|
2012-07-28 14:41:12 +08:00
|
|
|
<script src="sample-geojson.js" type="text/javascript"></script>
|
2016-09-03 13:56:05 +08:00
|
|
|
<script src="https://unpkg.com/leaflet@1.0.0-rc.3/dist/leaflet.js"></script>
|
2012-07-28 14:41:12 +08:00
|
|
|
|
2011-09-21 14:08:12 +08:00
|
|
|
<script>
|
2012-07-28 14:41:12 +08:00
|
|
|
var map = L.map('map').setView([39.74739, -105], 13);
|
|
|
|
|
2016-01-27 14:13:32 +08:00
|
|
|
L.tileLayer('https://api.tiles.mapbox.com/v4/{id}/{z}/{x}/{y}.png?access_token=pk.eyJ1IjoibWFwYm94IiwiYSI6ImNpandmbXliNDBjZWd2M2x6bDk3c2ZtOTkifQ._QA7i5Mpkd_m30IGElHziw', {
|
2014-04-28 19:16:15 +08:00
|
|
|
maxZoom: 18,
|
|
|
|
attribution: 'Map data © <a href="http://openstreetmap.org">OpenStreetMap</a> contributors, ' +
|
|
|
|
'<a href="http://creativecommons.org/licenses/by-sa/2.0/">CC-BY-SA</a>, ' +
|
|
|
|
'Imagery © <a href="http://mapbox.com">Mapbox</a>',
|
2015-07-08 08:20:26 +08:00
|
|
|
id: 'mapbox.light'
|
2012-07-28 14:41:12 +08:00
|
|
|
}).addTo(map);
|
|
|
|
|
|
|
|
var baseballIcon = L.icon({
|
|
|
|
iconUrl: 'baseball-marker.png',
|
|
|
|
iconSize: [32, 37],
|
|
|
|
iconAnchor: [16, 37],
|
|
|
|
popupAnchor: [0, -28]
|
2011-09-30 18:34:06 +08:00
|
|
|
});
|
2012-02-14 23:02:29 +08:00
|
|
|
|
2012-07-28 14:41:12 +08:00
|
|
|
function onEachFeature(feature, layer) {
|
|
|
|
var popupContent = "<p>I started out as a GeoJSON " +
|
|
|
|
feature.geometry.type + ", but now I'm a Leaflet vector!</p>";
|
2012-02-14 23:02:29 +08:00
|
|
|
|
2012-07-28 14:41:12 +08:00
|
|
|
if (feature.properties && feature.properties.popupContent) {
|
|
|
|
popupContent += feature.properties.popupContent;
|
|
|
|
}
|
2012-02-14 23:02:29 +08:00
|
|
|
|
2012-07-28 14:41:12 +08:00
|
|
|
layer.bindPopup(popupContent);
|
|
|
|
}
|
2012-02-14 23:02:29 +08:00
|
|
|
|
2012-07-28 19:32:45 +08:00
|
|
|
L.geoJson([bicycleRental, campus], {
|
2012-02-14 23:02:29 +08:00
|
|
|
|
2012-07-28 14:41:12 +08:00
|
|
|
style: function (feature) {
|
|
|
|
return feature.properties && feature.properties.style;
|
|
|
|
},
|
|
|
|
|
|
|
|
onEachFeature: onEachFeature,
|
|
|
|
|
|
|
|
pointToLayer: function (feature, latlng) {
|
|
|
|
return L.circleMarker(latlng, {
|
|
|
|
radius: 8,
|
|
|
|
fillColor: "#ff7800",
|
|
|
|
color: "#000",
|
|
|
|
weight: 1,
|
|
|
|
opacity: 1,
|
|
|
|
fillOpacity: 0.8
|
|
|
|
});
|
|
|
|
}
|
|
|
|
}).addTo(map);
|
|
|
|
|
|
|
|
L.geoJson(freeBus, {
|
|
|
|
|
|
|
|
filter: function (feature, layer) {
|
|
|
|
if (feature.properties) {
|
|
|
|
// If the property "underConstruction" exists and is true, return false (don't render features under construction)
|
|
|
|
return feature.properties.underConstruction !== undefined ? !feature.properties.underConstruction : true;
|
|
|
|
}
|
|
|
|
return false;
|
|
|
|
},
|
|
|
|
|
|
|
|
onEachFeature: onEachFeature
|
|
|
|
}).addTo(map);
|
2012-02-14 23:02:29 +08:00
|
|
|
|
2012-07-28 19:32:45 +08:00
|
|
|
var coorsLayer = L.geoJson(coorsField, {
|
2012-02-14 23:02:29 +08:00
|
|
|
|
2012-07-28 14:41:12 +08:00
|
|
|
pointToLayer: function (feature, latlng) {
|
|
|
|
return L.marker(latlng, {icon: baseballIcon});
|
|
|
|
},
|
2012-02-14 23:02:29 +08:00
|
|
|
|
2012-07-28 14:41:12 +08:00
|
|
|
onEachFeature: onEachFeature
|
|
|
|
}).addTo(map);
|
2012-02-14 23:02:29 +08:00
|
|
|
|
2011-06-18 00:45:04 +08:00
|
|
|
</script>
|
|
|
|
</body>
|
2012-02-14 23:02:29 +08:00
|
|
|
</html>
|