【问题标题】:Google Map Marker Clusterer "if does not expand" functionGoogle Map Marker Clusterer“如果不展开”功能
【发布时间】:2017-06-09 13:07:11
【问题描述】:

我有一个带有标记聚类的谷歌地图。我这里有一个演示:

https://codepen.io/EightArmsHQ/pen/LxLwZZ?editors=0010

我想在集群点击事件上创建一个函数,当你点击的集群没有展开时触发。

走过:

  1. 您点击伦敦旁边的4,地图会展开以显示这些标记
  2. 单击3,地图会展开以显示下一个标记
  3. 您点击2,地图仍然显示2——一个函数被触发。

我可以这样做:

var oldSize = false;

google.maps.event.addListener(markerCluster, 'clusterclick', function(cluster) {

  var newSize = cluster.getSize();
  var extra = '';
  if(newSize == oldSize){
    alert('this is the same size as it was previously!');
  }
  oldSize = newSize;
  
});

但这不是我想要的,因为发生的事情是......

  1. 您点击伦敦旁边的4,地图会展开以显示这些标记
  2. 点击3,地图会展开以显示下一个标记
  3. 您点击2,地图仍然显示2
  4. 单击2,地图仍显示2,现在警报触发

谁能帮我提前一步触发函数?

更多信息:

我有一张您可以在某些博物馆或其他地理位置参观的物品的地图。当您单击每个标记时,我会将信息加载到页面中。然而,有些物品在同一个博物馆里。我遇到的问题是,当多个标记的 lat 和 lng 完全相同时,集群会永远留在那里。

这很好,但是在这种情况下,我想在同一位置加载所有标记的信息。因此,当您单击未扩展的集群时,我正在尝试创建函数来执行此操作。问题是,当您第二次单击未扩展的集群时,我发现这样做很简单,但不是第一次...

当您放大很长一段距离时,如果您单击一个集群,我不想加载所有集群的所有信息,这使情况更加复杂。我只想在您无法再放大时触发此功能。

【问题讨论】:

  • 第一次点击“2”时你想发生什么?问题是在完全相同的地方有两个标记。通常的解决方案是OverlappingMarkerSpiderfier
  • @geocodezip 请查看更多相关信息 - OverlappingMarkerSpiderfier 看起来很棒 - 我会检查一下。
  • 有几个类似的问题我记得路过。

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


【解决方案1】:

你的代码是错误的,因为:

  1. 您单击伦敦旁边的 4,地图会展开以显示那些 标记 (4 != false)
  2. 您单击 3,地图会展开以显示下一个标记 (3 != 4)
  3. 您点击 2,地图仍然显示 2 (2 != 3)
  4. 单击 2,地图仍显示 2,现在警报触发 (2 == 2)

您可以尝试检查集群标记中的所有位置是否相等:

google.maps.event.addListener(markerCluster, 'clusterclick', function(cluster) {
  var clusterMarkers = cluster.getMarkers();
  var lastPosition;
  if(clusterMarkers.every((currentMarker) => {
    if(!lastPosition || lastPosition.equals(currentMarker.position)) {
        lastPosition = currentMarker.position;
        return true;
    } else {
        return false;
    }
  })) {
    // Do something
  }
});

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-12-02
    • 1970-01-01
    • 2020-11-07
    • 2013-01-25
    • 2012-01-29
    • 2015-07-25
    相关资源
    最近更新 更多