aboutsummaryrefslogtreecommitdiff
path: root/resources/op2geojson.js
blob: 74431d3cf5a13e8043a70ad319a433672aed1b97 (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
( function ( $ ) {

op2geojson = function() {

	var instance = {},
		geojson;

	instance.fetch = function(url, callback) {
    	$.getJSON(url, { format: "json" },
			function(data) {
				var features = [];
				$.each(data.elements, function(i, item) {
					if( item.type === 'node' ) {
						features.push( instance.point(item) );
					}
				});
				geojson = instance.featureCollection(features);
				callback(geojson);
			}
		);
	};

	instance.point = function(node) {
		var point = {
			"type" : "Feature",
			"geometry" : {
				"type" : "Point",
				"coordinates" : [node.lon,node.lat]
			},
			"properties" : {}
		};
		_.extend(point.properties, node.tags);
		return point;
	}

	instance.featureCollection = function(features) {
		collection = {
			"type" : "FeatureCollection",
			"features" : features
		};
		return collection;
	}

	instance.geojson = function() {
		url = "http://overpass-api.de/api/interpreter?data=[out:json];node[amenity=hospital](52.34,13.3,52.52,13.6);out;";
		instance.fetch(url, function(data) {
			return data;
		});
	}

	return instance;

};

})( jQuery );