2014-12-28 99 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