【问题标题】:Google Maps Markers in wrong location, but lat/lon appears correct谷歌地图标记位置错误,但纬度/经度显示正确
【发布时间】:2018-03-22 19:49:14
【问题描述】:

我正在使用自定义标记来显示覆盖在 Google 地图上的某些感兴趣车辆的位置和方向(航向)的半实时视图。 (在我的例子中,我正在描绘飞机,就像 Uber 对汽车所做的那样,或者 FlightAware 对商业航班所做的那样)。

标记的坐标以 JSON 格式从我控制的服务器广播到参与的浏览器。 JSON 数据由浏览器中的 JavaScript 函数处理,以创建/更新 Google 地图上的标记。刷新(广播)速率有时可以快至每 2 秒一次,或慢至每 30 秒一次,具体取决于特定用户当前的需求。

有时,两个标记可能(并且有效)彼此相距数千英里。例如,一个标记可能在蒙大拿州,另一个可能在非洲某个地方,这是一个有效条件。

但是,有时,当我放大到世界的某个区域以便更仔细地查看一个标记时,附近会出现一个“幽灵”标记,该标记“并不真正位于那里”。幽灵标记被标记为可能在数百或数千英里之外的其他标记之一,但由于某种奇怪的原因它出现在我的放大视图中。如果我暂时放大我们的镜头,幽灵就会消失,但它可能会再次出现。

有趣的是,重影图像与其所代表的车辆具有正确的方向,但它只是位于世界的错误位置。

当我更新多个相隔很远的标记时,我应该做些什么特别的事情,这样它们就不会像这样出现在错误的地方?

我已经跟踪到将控制台消息放入浏览器中,这样我就可以看到每个标记的纬度/经度。我在将 latLng 对象应用于每个标记之前输出它,并且我在控制台日志中看到的 lat/lon 是正确的,即使实际标记出现在错误的位置也是如此。

我不知道这是否是导致问题的原因,但我使用的标记图像是自定义 PNG 文件,而不是标准的 Google 制造商。有人遇到过这种情况吗?

【问题讨论】:

  • 这张鬼标记的图片可能有助于识别发生了什么
  • 请提供minimal reproducible example 来证明问题
  • 说起来容易做起来难。我不允许在公共场合发布指向它的链接,而且我没有单独的地方来创建一个相似的系统(服务器和客户端)来演示这一切。我将不得不等待,看看是否有人仅基于我迄今为止发布的文字有任何想法或建议。如果这无济于事,那么我将不得不看看管理层会允许什么。

标签: javascript google-maps


【解决方案1】:

据我所知,Google 问题跟踪器中报告了一些与您在此处描述的问题非常相似的问题。

看看他们:

https://issuetracker.google.com/issues/74225068

https://issuetracker.google.com/issues/73864685

随时添加您的 cmets 并对问题加注星标以订阅来自 Google 的更多通知。

请注意,这些问题是针对 Google Maps JavaScript API 的实验版报告的。仔细检查您使用的 API 版本。加载发布或冻结版本可能会作为您的临时解决方法。

有关 Google Maps JavaScript API 的版本控制模型的更多详细信息,请参阅文档:

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

我希望这会有所帮助!

【讨论】:

    猜你喜欢
    • 2014-10-04
    • 2014-04-13
    • 2013-10-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-04-30
    • 2012-11-29
    相关资源
    最近更新 更多