【问题标题】:google maps zoom control event谷歌地图缩放控制事件
【发布时间】:2014-03-06 18:44:01
【问题描述】:

在这个网站上:

http://www.crunchpanorama.com/

您使用谷歌地图缩放控制滑块来缩放和重新聚集标记。我也想捕获此事件并执行相应的操作。

问题是在阅读谷歌文档时,我能找到的只是地图的 zoom_changed 事件。但是,不仅在使用滑块更改缩放时调用此事件,而且在单击标记(放大到标记)时也会调用此事件。所以 zoom_changed 对我没有帮助:

google.maps.event.addListener(map, 'zoom_changed', function () {
...

我希望能够专门针对控制滑块上的缩放变化。我该怎么办?

【问题讨论】:

  • 你有什么选项可以防止集群点击的放大吗?例如,MarkerClusterer 库有选项zoomOnClick,可以设置为false。这样用户必须使用控制滑块。
  • @AntoJurković 我现在正在使用服务器端集群,所以我不再使用 MarkerClusterer。当用户使用 fitBounds 单击标记时,我手动设置缩放。我希望能够在用户查看标记时进行缩放。我希望能够在用户移动滑块时执行 ajax 请求。

标签: javascript google-maps


【解决方案1】:

也许有类似的解决方法:

var self = this;
google.maps.event.addListener(marker, 'click', function() {
    // Set a boolean variable to true to indicate a marker/cluster has been clicked
    self._markerClicked = true;
});

google.maps.event.addListener(map, 'zoom_changed', function() {
    // Check the boolean variable and run your code if it's false
    if ( !self._markerClicked ) {
        // Take action here
    } else {
        // Reset variable back to false
        self._markerClicked = false;
    }
});

【讨论】:

    【解决方案2】:

    最近遇到了这个问题。如果您想在单击地图默认缩放按钮时进行捕捉,这是我找到的最佳解决方案。这假定缩放按钮是 div 地图容器中唯一的按钮。

    $("#id-container-name").on("click", "button", whateverfunction());

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-02-11
      • 1970-01-01
      • 2012-06-25
      • 2023-03-11
      • 2014-11-20
      • 1970-01-01
      • 2012-03-14
      • 1970-01-01
      相关资源
      最近更新 更多