【发布时间】:2018-03-22 19:49:14
【问题描述】:
我正在使用自定义标记来显示覆盖在 Google 地图上的某些感兴趣车辆的位置和方向(航向)的半实时视图。 (在我的例子中,我正在描绘飞机,就像 Uber 对汽车所做的那样,或者 FlightAware 对商业航班所做的那样)。
标记的坐标以 JSON 格式从我控制的服务器广播到参与的浏览器。 JSON 数据由浏览器中的 JavaScript 函数处理,以创建/更新 Google 地图上的标记。刷新(广播)速率有时可以快至每 2 秒一次,或慢至每 30 秒一次,具体取决于特定用户当前的需求。
有时,两个标记可能(并且有效)彼此相距数千英里。例如,一个标记可能在蒙大拿州,另一个可能在非洲某个地方,这是一个有效条件。
但是,有时,当我放大到世界的某个区域以便更仔细地查看一个标记时,附近会出现一个“幽灵”标记,该标记“并不真正位于那里”。幽灵标记被标记为可能在数百或数千英里之外的其他标记之一,但由于某种奇怪的原因它出现在我的放大视图中。如果我暂时放大我们的镜头,幽灵就会消失,但它可能会再次出现。
有趣的是,重影图像与其所代表的车辆具有正确的方向,但它只是位于世界的错误位置。
当我更新多个相隔很远的标记时,我应该做些什么特别的事情,这样它们就不会像这样出现在错误的地方?
我已经跟踪到将控制台消息放入浏览器中,这样我就可以看到每个标记的纬度/经度。我在将 latLng 对象应用于每个标记之前输出它,并且我在控制台日志中看到的 lat/lon 是正确的,即使实际标记出现在错误的位置也是如此。
我不知道这是否是导致问题的原因,但我使用的标记图像是自定义 PNG 文件,而不是标准的 Google 制造商。有人遇到过这种情况吗?
【问题讨论】:
-
这张鬼标记的图片可能有助于识别发生了什么
-
请提供minimal reproducible example 来证明问题
-
说起来容易做起来难。我不允许在公共场合发布指向它的链接,而且我没有单独的地方来创建一个相似的系统(服务器和客户端)来演示这一切。我将不得不等待,看看是否有人仅基于我迄今为止发布的文字有任何想法或建议。如果这无济于事,那么我将不得不看看管理层会允许什么。