更新 Google 地图标记中的 MarkerImage sprite 原点 (v3)

发布于 2024-11-16 12:09:25 字数 574 浏览 1 评论 0原文

我想动态更新由 Google Maps API v3 中的 MarkerImage 构造函数生成的精灵的“原点”点,并且想知道是否可以在不完全生成新的 MarkerImage 的情况下实现这一点。

这是一些代码:

// Marker options
var markerOptions = {
    icon: new google.maps.MarkerImage('../images/content/marker.png', 
      new google.maps.Size(88,88),
        new google.maps.Point(0,0),
      new google.maps.Point(44,88)
    ),
  position: position,
  map: map
}

var marker = new google.maps.Marker(markerOptions);

我可以按照marker.setPoint(0,10)的方式做一些事情,还是需要创建一个新的MarkerImage只是为了再次设置精灵原点?

I want to dynamically update the "origin" point of a sprite generated by the MarkerImage constructor in Google Maps API v3, and am wondering if that's possible without generating a new MarkerImage entirely.

Here's some code:

// Marker options
var markerOptions = {
    icon: new google.maps.MarkerImage('../images/content/marker.png', 
      new google.maps.Size(88,88),
        new google.maps.Point(0,0),
      new google.maps.Point(44,88)
    ),
  position: position,
  map: map
}

var marker = new google.maps.Marker(markerOptions);

Can I do something along the lines of marker.setPoint(0,10) or do I need to create a new MarkerImage just to set the sprite origin again?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

很糊涂小朋友 2024-11-23 12:09:25

当在地图上绘制 MarkerImage 时,最快的方法是:

marker.getIcon().origin = new google.maps.Point(0, 10);
marker.setIcon(marker.getIcon()); //re-draw the MarkerIcon

When the MarkerImage is draw on the map the quickest way to do that is :

marker.getIcon().origin = new google.maps.Point(0, 10);
marker.setIcon(marker.getIcon()); //re-draw the MarkerIcon
如梦初醒的夏天 2024-11-23 12:09:25

您可以设置标记图标的原点属性。在您的示例中:

marker.getIcon().origin = new google.maps.Point(0, 10);

以下内容也适用:

marker.icon.origin = new google.maps.Point(0, 10);

You can set the origin property of the marker's icon. In your example:

marker.getIcon().origin = new google.maps.Point(0, 10);

The following also works:

marker.icon.origin = new google.maps.Point(0, 10);
最初的梦 2024-11-23 12:09:25

创建 MarkerImage 后,无法更改其属性(至少根据 API 参考)。您可以创建一个新的 MarkerImage 并调用 marker.setIcon()

There is no way (at least according to the API reference) to alter the properties of a MarkerImage after it has been created. You can create a new MarkerImage and call marker.setIcon().

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文