【问题标题】:Google Maps polygon not displaying correctly in Internet Explorer (random lines)Google Maps 多边形在 Internet Explorer 中未正确显示(随机线)
【发布时间】:2012-07-20 02:17:01
【问题描述】:

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

地图可以在这里查看:Coverage Map

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

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

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

有什么想法吗?提前致谢。

【问题讨论】:

  • 您的服务器似乎反应迟钝,这可能是问题的一部分。你试过把同一张地图放在别处吗?
  • 是的,我正在本地机器上测试 Ubuntu Server VM 并在那里遇到同样的问题。我没有对 JavaScript 做很多优化,但生产服务器现在对我来说工作正常。

标签: javascript html internet-explorer google-maps google-maps-api-3


【解决方案1】:

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

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-11-29
    相关资源
    最近更新 更多