【问题标题】:geojson to maps using Google Maps API使用 Google Maps API 将 geojson 映射到地图
【发布时间】:2014-04-21 12:19:01
【问题描述】:

我一直在尝试将我的 geojson 数据投影到地图上。那是我从谷歌遇到这个文档的时候。

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

使用过 google maps 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 文件?

谢谢。

【问题讨论】:

    标签: google-maps gis geojson


    【解决方案1】:

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

    但是,请记住,由于same-origin policy,这仅在您同时加载 HTML/Javascript 和来自同一来源的数据时才有效。

    由于 ToS 不允许您自己托管 API 脚本,您可能必须设置本地网络服务器进行测试。然后,您可以通过设置Access-Control-Allow-Origin HTTP 标头来控制跨域访问。

    【讨论】:

    • 嗨,我的 html+js 和 json 文件都在桌面上。所以使用了 u 建议的 loadGeoJson,如下所示: // 从与我们的演示相同的服务器加载 GeoJSON。 map.data.loadGeoJson('file:///C:/Users/Administrator/Desktop/test.json');我仍然没有看到地图上绘制的多边形。请帮忙。如果您愿意,可以提供更多详细信息。
    • 同源策略是否意味着我将 json 文件存储在我从中访问 google api 的同一域中?
    • 您可能无法使用 http 服务器 + CORS 标头 -> 我扩展了我的答案。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-07-21
    • 1970-01-01
    相关资源
    最近更新 更多