summaryrefslogtreecommitdiff
path: root/demo6.html
blob: da7e4344f994eaded28d7277c8c2b579ece1f3b5 (plain)
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: '&copy; <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>