小编Rav*_*ous的帖子

google Maps Javascript V3.21 无法显示 geoJSON 功能

更新

任何看到这个并说嘿等待他使用的人,map.data.addGeoJson()而不是.loadGeoJson()因为在本地加载 JSON 时小提琴需要 addGeoJson。loadGeoJSson()如果在 Web 服务器上运行,则与上述代码的工作方式相同。

下面的原始问题

我正在网络服务器上运行所有这些,因此根据 googleMaps 文档,只要 URI 正确,从同一域加载 geoJSON 就被接受(对于开发人员,我正在通过 http 运行 geoJSON 请求,不确定这是否重要)。简单来说,我将我的 JSON 对象与我的 index.html 和 mapInit.js 文件放在同一目录中。根据 API 文档,我尝试过的所有功能都可以在 3.21 版的实际参考部分中使用,所以我假设它们仍然有效。我还有一个 API 密钥,我已经相应地插入了它。

我的问题

为什么 loadGeoJson 不起作用,是我声明不正确,还是样式不正确?

什么工作

地图加载得很好并以正确的位置为中心,然后加载自定义标记并相应地将地图居中。

什么不工作

使用加载 geoJSON 文件时,customLayer.loadGeoJSON("some.json")如果我切换到使用,customLayer.addGeoJSON("some.json")我不会在控制台中收到无效的功能或功能集合错误。另外customLayer.setStyle({icon:image})似乎没有设置我也尝试过的样式customLayer.StyleOptions({icon:image})

所以我坚持,loadGeoJson()因为它似乎正在加载 JSON。

索引.html

!DOCTYPE html
<html>
<body>
<div id="myMap" style='padding:0; height: 800px; width:100%;'></div>
</body>
<center>
    <script src="http://maps.google.com/maps/api/js?sensor=false">
</script>
<script> src="mapInit.js"</script>
</html>
Run Code Online (Sandbox Code Playgroud)

地图初始化.js

function …
Run Code Online (Sandbox Code Playgroud)

javascript google-maps geojson google-maps-api-3

1
推荐指数
1
解决办法
2027
查看次数