【问题标题】:Google Maps Pan between markers谷歌地图在标记之间平移
【发布时间】:2013-12-16 21:39:20
【问题描述】:

我希望能够在地图上平移多个标记。这个想法是,如果您单击标记 1,它将平移到标记 1 居中,然后如果您单击标记 2,它将从标记 1 平移到标记 2。我的平移最初可以正常工作,但它不会t 从一个标记平移到另一个标记,而无需用户先移动地图。

我当前使用的代码是:

google.maps.event.addListener(marker, 'click', function() {
    map.panTo(marker.getPosition());
});

我想在连续使用多个标记事件侦听器时可能有一些我不知道的事情(也许?我不确定)。

这是我现在遇到的功能示例:
http://kolosk.us/pan/

希望这很清楚,如果您能提供帮助,请告诉我。谢谢!

【问题讨论】:

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


【解决方案1】:

您的代码中只有一个标记变量,位于循环创建的最后一个标记处。通常的解决方案是使用函数闭包,将标记变量的唯一副本与每个事件侦听器相关联。

  for (var i = 0; i < locations.length; i++) {
    var beach = locations[i];
    var myLatLng = new google.maps.LatLng(beach[1], beach[2]);
    var marker = new google.maps.Marker({
        position: myLatLng,
        map: map,
        //icon: image,
        //shape: shape,
        title: beach[0],
        zIndex: beach[3]
    });

    google.maps.event.addListener(marker, 'click', (function(marker) {
      return function() {
        map.panTo(marker.getPosition());
      }
    })(marker));
  }

working example

【讨论】:

    猜你喜欢
    • 2017-09-21
    • 1970-01-01
    • 2016-07-08
    • 2016-12-28
    • 1970-01-01
    • 1970-01-01
    • 2012-04-10
    • 2013-04-08
    • 2020-05-07
    相关资源
    最近更新 更多