2014-04-21 115 views
0

我一直在試圖將我的geojson數據投影到地圖上。當我從谷歌遇到這個文檔的時候。geojson使用Google Maps API的地圖

https://developers.google.com/maps/documentation/javascript/datalayer 

人誰曾與谷歌地圖API的工作可以解釋我這個代碼段的含義是:

// Load a GeoJSON from the same server as our demo. 
    map.data.loadGeoJson('https://storage.googleapis.com/maps-devrel/google.json'); 

他們是什麼意思是「來自同一服務器作爲我們的演示加載GeoJSON的。」 。我的geojson文件位於我的本地驅動器(C :)中。我如何修改代碼以便加載我的json文件?

謝謝。

回答

0

如果您使用file:// -URL加載HTML文件,例如。 file:///C:/myfile.html,您應該可以使用map.data.loadGeoJson('file:///C:/mydata.json')

但是請記住,只有在您加載HTML/Javascript和來自同一出處的數據(由於same-origin policy)的情況下,此功能纔有效。

由於ToS不允許您自己託管API腳本,因此可能必須設置本地Web服務器進行測試。然後,您可以通過設置Access-Control-Allow-Origin HTTP標頭來控制跨源訪問。

+0

嗨,我的html + js和json文件都在桌面上。因此,按照u的建議使用loadGeoJson,如下所示://從與我們的演示相同的服務器加載GeoJSON。 map.data.loadGeoJson('file:/// C:/ Users/Administrator/Desktop/test.json');我仍然看不到在地圖上繪製的多邊形。請幫助。可以提供更多細節,如果你想。 – Anvith

+0

做同源政策意味着我有json文件存儲在同一個域中,我正在訪問谷歌API的? – Anvith

+0

你可能不會繞過使用http服務器+ CORS頭文件 - >我稍微擴展了我的答案。 – mensi