1

我在通过 JavaScript API v3 在 Google 地图上绘制多边形时遇到了一些麻烦。问题是地图似乎在 9 以外的 Internet Explorer 版本中从多边形上绘制随机线。在我尝试过的任何其他浏览器中看起来都很好。

地图可以在这里查看:覆盖图

这是一张覆盖地图,显示了由特定公司服务的县。每个县叠加层都是根据美国人口普查边界坐标数据构建的,并单独添加到地图中。

我环顾四周,虽然人们似乎对地图和 Internet Explorer 有很多问题,但我找不到与我的特定问题相关的任何内容。这些线似乎是多边形的延伸,好像我的坐标是错误的,但我已经彻底检查了它们,它们看起来是一致的。

线条会聚在地图中图块的角上,并在您放大/缩小时四处移动。

有任何想法吗?提前致谢。

4

1 回答 1

1

经过大量调试,我终于找到了问题所在。

坐标数据以格式等形式存储为一串纬度/经度数据41.162822,-91.715893;41.161104,-91.715921;...。我使用 JavaScript 的 split() 函数两次首先获取坐标对,split(";")然后将纬度和经度值用split(","). 事实证明,即使分隔符位于字符串的末尾, split() 仍然有效,因此会将空字符串粘贴到结果数组中。我猜早期的 Internet Explorer 版本仍然会尝试渲染错误的 LatLngs。

故事的寓意:检查您的数据完整性。

于 2012-07-31T20:25:33.593 回答