2014-12-28 71 views
0

因此我有json数据与列geo_coordinates,我使用传单库来显示geojson,不幸的是传单无法读取geo_coordinates,因为它不知道是类型Point和坐标。将json转换为geojson.min.js

我一直在寻找后最佳解决方案,不过,我觉得,我应该改变“类型” geo_coordinates:点“坐标”:

我发现geojson.min.js,它看起来简单易用,但我在做什么某人错误mayby sb可以帮助。

var map; 
 

 

 
    // set up the map 
 
\t map = new L.Map('map'); 
 

 
\t // create the tile layer with correct attribution 
 
\t var kanomapUrl='http://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png'; 
 
\t var kanomap = new L.TileLayer(kanomapUrl, {minZoom: 1, maxZoom: 18}); 
 

 
\t 
 
\t map.setView(new L.LatLng(8.783268,11.95733),1); 
 
\t map.addLayer(kanomap); 
 

 

 
$.getJSON("/api/facility/", function(data) { 
 
    var geojson = L.geoJson(data); 
 
    GeoJSON.parse(geojson, {Point: ['geo_coordinates']}); 
 
    geojson.addTo(map); 
 
    });

我的JSON

[{"id": 10, "name": "Berlin", "country": "Germany", "geo_coordinates": "1.153757,11.634342"}, ......]

gejJson被wroking我与来自谷歌一些数据来检查它,它被正确地显示,当i型相同的一些geojson手动,然后一切正常。所以,我相信我做某事错GeoJSON的库转换的json正确

感谢

回答

1

我假设你是讲的https://www.npmjs.com/package/geojson ...

你geo_coordinates场太复杂...... 的库需要数据结构中的两个不同的字段来定义一个点(一个用于纬度,一个用于经度)。

为什么要转换为geojson?你不能自己处理数据吗?

+0

其实你是对的我只是可以自己处理数据,但我使用sb给我的json格式工作,但是谢谢我现在知道该怎么办才能使它工作;) – IOR88

1

你只需要调整的几件事情:

1)由于@FranceImage提到你必须设置你的坐标源数据 不同,例如一个数组:

{"id": 10, "name": "Berlin", "country": "Germany", "geo_coordinates": [1.153757, 11.634342]} 

2)在宣传单张,似乎如果你加入生GeoJSON的数据,你必须使用addData函数

var result = GeoJSON.parse(geojson, {Point: 'geo_coordinates'}); 
var geojson = L.geoJson().addData(result); 

在这里看到一个演示:http://jsfiddle.net/n82d4s91/5/

+0

感谢您的帮助;) – IOR88