【问题标题】:Markers drift when zooming (not a custom marker)缩放时标记漂移(不是自定义标记)
【发布时间】:2014-01-05 19:43:41
【问题描述】:

我遇到了标记漂移问题,它似乎与自定义标记的锚点无关。标记(非自定义)在缩放时会显着漂移(见下图)

var myLatlng = new google.maps.LatLng(parseFloat(jsonObjects[i].lat), parseFloat(jsonObjects[i].lon));
 for (var i = 0; i < jsonObjects.length; i++) {
    var markers = new google.maps.Marker({
    position: myLatlng,
    map: map,
    title: "norm",
    });
 }

这里是实时代码的链接: http://www.carolinerecord.com/soundMap/soundMapStart.html

以下是我使用的坐标的一些示例:

-79.9025 40.445166

-80.012741 40.445073

-79.94909 40.437257

【问题讨论】:

  • 你能链接到显示问题的页面吗?
  • 出现问题的标记的坐标是多少?请提供足够的代码来复制问题。您发布的代码看起来不对。 myLatlng 是什么?它来自哪里(假设是 jsonObjects,但没有提供该代码)。
  • 我添加了一个带有实时代码的链接!注意:当您单击它们时,它们将成为自定义标记。任何建议将不胜感激。

标签: javascript google-maps google-maps-api-3 maps google-maps-markers


【解决方案1】:

当您为图标定义锚点时,起点 (0,0) 是图像的左上角。

您已将图标的大小设置为(20, 32),并将锚点设置为(0,16)

当你不希望锚点位于图标的底部中心时,锚点必须设置为(halfOfImageWidth,ImageHeight)

所以在你的情况下它必须是:

anchor:new google.maps.Point(10,32)

但是,您可以省略 anchor-property,API 会默认将锚点设置为底部中心。

【讨论】:

  • 我很快就会试试这个。但是为什么非自定义标记仍然存在问题(如现场示例所示)?
  • 标记位置正确,地图瓦片位置错误。这种格式强制错误的位置,为img定义:left: -50%;
  • 就是那个css。我没有意识到这个标签甚至适用于标准的谷歌地图标记。谢谢。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-11-01
  • 2023-03-16
  • 1970-01-01
相关资源
最近更新 更多