Google地图标记位置错误,但是lat / lon显示正确

时间:2018-03-22 19:49:14

标签: javascript google-maps

我正在使用自定义标记来显示在Google地图上叠加的某些感兴趣的车辆的位置和方向(标题)的半实时视图。 (就我而言,我描绘的是飞机,就像优步为汽车所做的那样,或者是FlightAware如何进行商业航班)。

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

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

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

有趣的是,鬼影对于它所代表的车辆具有正确的方向,但它只是位于世界的错误部分。

当我更新多个以远距离分隔的标记时,我应该做些什么特别的事情,所以它们在错误的地方不会出现这样的情况吗?

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

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

1 个答案:

答案 0 :(得分:0)

正如我所看到的,Google问题跟踪器中报告的问题与您在此处描述的问题非常类似。

看看他们:

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

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

随时添加您的评论并解决问题,以订阅Google的进一步通知。

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

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

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

我希望这有帮助!