1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
|
<html>
<head>
<link rel="stylesheet" href="leaflet/dist/leaflet.css" />
<script src="leaflet/dist/leaflet-src.js"></script>
<style>
body {
padding: 0;
margin: 0;
}
html, body, #map {
height: 100%;
}
</style>
</head>
<body>
<div id="map">
</div>
<script>
var map = L.map('map', {
center: [50.90371, -1.40581], // The Art House Cafe
zoom: 18
});
var tileLayer = L.tileLayer('http://{s}.tile.osm.org/{z}/{x}/{y}.png', {
attribution: '© <a href="http://osm.org/copyright">OpenStreetMap</a> contributors'
});
tileLayer.addTo(map);
// Load some GeoJSON exported from OpenStreetMap using the OverpassAPI
// (http://overpass-turbo.eu/s/7yI)
var coffeeIcon = L.icon({
iconUrl: 'coffee.png',
iconSize: [32, 37], // size of the icon
iconAnchor: [16, 37], // point of the icon which will
popupAnchor: [16, 0] // point from which the
});
getJSON("cafes.json", function(cafes) {
// Coffee icon from
// http://mapicons.nicolasmollet.com/markers/restaurants-bars/bars/coffee/
L.geoJson(cafes, {
pointToLayer: function(feature, latLng) {
console.log(feature.properties);
if (feature.properties.cuisine == "coffee_shop") {
var marker = L.marker(latLng, {
icon: coffeeIcon
});
return marker;
} else {
return L.marker(latLng);
}
},
onEachFeature: function(feature, layer) {
}
}).addTo(map);
});
// function to get a JSON file
function getJSON(url, callback) {
var xhttp = new XMLHttpRequest();
xhttp.open('GET', url, true);
xhttp.setRequestHeader('Accept', 'application/json');
xhttp.onreadystatechange = function() {
if (xhttp.status == 200 &&
xhttp.readyState == 4) {
callback(JSON.parse(xhttp.responseText), xhttp.responseText);
}
};
xhttp.send();
}
</script>
</body>
</html>
|