95 lines
3.1 KiB
HTML
95 lines
3.1 KiB
HTML
<!DOCTYPE html>
|
|
<html>
|
|
<head>
|
|
<title>Leaflet debug page</title>
|
|
|
|
<link rel="stylesheet" href="../../dist/leaflet.css" />
|
|
<!--[if lte IE 8]><link rel="stylesheet" href="../../dist/leaflet.ie.css" /><![endif]-->
|
|
|
|
<link rel="stylesheet" href="../css/screen.css" />
|
|
|
|
<script src="../leaflet-include.js"></script>
|
|
</head>
|
|
<body>
|
|
|
|
<div id="map" style="width: 600px; height: 600px; border: 1px solid #ccc"></div>
|
|
<button onclick="geojsonLayerBounds();">Show GeoJSON layer bounds</button>
|
|
<button onclick="featureGroupBounds();">Show feature group bounds</button>
|
|
|
|
<script type="text/javascript" src="geojson-sample.js"></script>
|
|
<script type="text/javascript">
|
|
|
|
var cloudmadeUrl = 'http://{s}.tile.cloudmade.com/BC9A493B41014CAABB98F0471D759707/997/256/{z}/{x}/{y}.png',
|
|
cloudmadeAttribution = 'Map data © 2011 OpenStreetMap contributors, Imagery © 2011 CloudMade',
|
|
cloudmade = new L.TileLayer(cloudmadeUrl, {maxZoom: 18, attribution: cloudmadeAttribution}),
|
|
rectangle,
|
|
featureGroup;
|
|
|
|
var map = new L.Map('map', {
|
|
center: new L.LatLng(0.78, 102.37),
|
|
zoom: 7,
|
|
layers: [cloudmade]
|
|
});
|
|
|
|
var geojson = new L.GeoJSON();
|
|
|
|
/* points are rendered as markers by default, but you can change this:
|
|
|
|
var geojson = new L.GeoJSON(null, {
|
|
pointToLayer: function(latlng) { return new L.CircleMarker(latlng); }
|
|
});
|
|
*/
|
|
|
|
geojson.on('featureparse', function(e) {
|
|
// you can style features depending on their properties, etc.
|
|
var popupText = 'geometry type: ' + e.geometryType;
|
|
|
|
if (e.layer.setStyle && e.properties && e.properties.color) {
|
|
e.layer.setStyle({color: e.properties.color});
|
|
popupText += '<br/>color: ' + e.properties.color;
|
|
}
|
|
e.layer.bindPopup(popupText);
|
|
});
|
|
|
|
geojson.addGeoJSON(geojsonSample);
|
|
geojson.addLayer(new L.Marker(new L.LatLng(2.745530718801952, 105.194091796875)))
|
|
|
|
var eye1 = new L.Marker(new L.LatLng(-0.7250783020332547, 101.8212890625));
|
|
var eye2 = new L.Marker(new L.LatLng(-0.7360637370492077, 103.2275390625));
|
|
var nose = new L.Marker(new L.LatLng(-1.3292264529974207, 102.5463867187));
|
|
var mouth = new L.Polyline([
|
|
new L.LatLng(-1.3841426927920029, 101.7333984375),
|
|
new L.LatLng(-1.6037944300589726, 101.964111328125),
|
|
new L.LatLng(-1.6806671337507222, 102.249755859375),
|
|
new L.LatLng(-1.7355743631421197, 102.67822265625),
|
|
new L.LatLng(-1.5928123762763, 103.0078125),
|
|
new L.LatLng(-1.3292264529974207, 103.3154296875)
|
|
]);
|
|
map.addLayer(eye1).addLayer(eye2).addLayer(nose).addLayer(mouth);
|
|
featureGroup = new L.FeatureGroup([eye1, eye2, nose, mouth]);
|
|
|
|
map.addLayer(geojson);
|
|
map.addLayer(featureGroup);
|
|
|
|
function geojsonLayerBounds() {
|
|
if (rectangle) {
|
|
rectangle.setBounds(geojson.getBounds());
|
|
} else {
|
|
rectangle = new L.Rectangle(geojson.getBounds());
|
|
map.addLayer(rectangle);
|
|
}
|
|
}
|
|
|
|
function featureGroupBounds() {
|
|
if (rectangle) {
|
|
rectangle.setBounds(featureGroup.getBounds());
|
|
} else {
|
|
rectangle = new L.Rectangle(featureGroup.getBounds());
|
|
map.addLayer(rectangle);
|
|
}
|
|
|
|
}
|
|
</script>
|
|
</body>
|
|
</html>
|