Stephan Bösch-Plepelits
7 years ago
5 changed files with 70 additions and 59 deletions
-
6categories/gastro.json
-
10categories/parks.json
-
18categories/trees.json
-
62index.js
-
33src/OpenStreetBrowserCategory.js
@ -0,0 +1,6 @@ |
|||
{ |
|||
"query": "(node[amenity~'^(restaurant|cafe)$'];way[amenity~'^(restaurant|cafe)$'];relation[amenity~'^(restaurant|cafe)$'];);", |
|||
"minZoom": 16, |
|||
"markerSign": "{% if tags.amenity=='restaurant' %}🍴{% else %}☕{% endif %}", |
|||
"featureBody": "{{ tags.amenity }}<br/>Cuisine: {{ tags.cuisine|default('unknown') }}" |
|||
} |
@ -0,0 +1,10 @@ |
|||
{ |
|||
"query": "(way[leisure=park];relation[leisure=park];)", |
|||
"style": { |
|||
"color": "green", |
|||
"fillColor": "green", |
|||
"fillOpacity": 0.2, |
|||
"weight": 2 |
|||
}, |
|||
"minZoom": 14 |
|||
} |
@ -0,0 +1,18 @@ |
|||
{ |
|||
"query": "node[natural=tree];", |
|||
"style": { |
|||
"nodeFeature": "CircleMarker", |
|||
"color": "red", |
|||
"fillColor": "red", |
|||
"fillOpacity": 0.1, |
|||
"weight": 1, |
|||
"radius": 6 |
|||
}, |
|||
"marker": { |
|||
"iconUrl": "img/map_pointer.png", |
|||
"iconSize": [ 25, 42 ], |
|||
"iconAnchor": [ 13, 42 ] |
|||
}, |
|||
"minZoom": 17, |
|||
"featureTitle": "{{ tags.species|default('Tree') }}" |
|||
} |
@ -0,0 +1,33 @@ |
|||
var OverpassLayer = require('overpass-layer') |
|||
var OverpassLayerList = require('overpass-layer').List |
|||
|
|||
function OpenStreetBrowserCategory (id) { |
|||
function reqListener (req) { |
|||
var data = JSON.parse(req.responseText) |
|||
|
|||
this.layer = new OverpassLayer(data.query, data) |
|||
|
|||
if (this.autoAdd) { |
|||
this.addTo(this.map) |
|||
this.autoAdd = false |
|||
} |
|||
} |
|||
|
|||
var req = new XMLHttpRequest() |
|||
req.addEventListener("load", reqListener.bind(this, req)) |
|||
req.open("GET", "categories/" + id + ".json") |
|||
req.send() |
|||
} |
|||
|
|||
OpenStreetBrowserCategory.prototype.addTo = function (map) { |
|||
this.map = map |
|||
|
|||
if (this.layer) { |
|||
this.layer.addTo(this.map) |
|||
new OverpassLayerList(document.getElementById('info'), this.layer); |
|||
} else { |
|||
this.autoAdd = true |
|||
} |
|||
} |
|||
|
|||
module.exports = OpenStreetBrowserCategory |
Write
Preview
Loading…
Cancel
Save
Reference in new issue