标记点击聚集标记和非聚集标记的事件

时间:2016-07-26 02:04:56

标签: android google-maps marker markerclusterer

我想为聚簇标记和非聚簇标记添加标记点击事件。通过将集群管理器传递到标记单击事件,集群标记正在工作。但是,通过这样做,它会覆盖非聚集标记的标记点击事件,反之亦然。我有聚集标记的图像和非聚集标记的常规地图图钉标记。

我希望能够在标记点击上删除非聚集标记。我已经尝试了一个远程点击事件,例如:

@Override
public void onMapLongClick(LatLng latLng) {

  for (Marker marker : listOfGeoTagMarkers) {
    /* if(Math.abs(marker.getPosition().latitude - latLng.latitude) < 0.05 && Math.abs(marker.getPosition().longitude - latLng.longitude) < 0.05) {
        Toast.makeText(MapActivity.this, "got clicked", Toast.LENGTH_SHORT).show(); //do some stuff
        break;
    }*/

    double distance = SphericalUtil.computeDistanceBetween(
                       marker.getPosition(), latLng);

    if ( distance < 300 ) { // closer than 50 meters?
      Toast.makeText(MapsActivity.this, "got clicked", Toast.LENGTH_SHORT).show();
    }
  }

然而,距离乘数(这里是300但它可能是50或100等)在某些缩放级别与引脚过于优柔寡断。如果您完全放大并且可以准确地触摸标记,则距离很好。

然而,当你缩小距离时,不可行的增加或减少太大而无法准确地完成所需的操作。简单的toast事件就是我要把标记的删除代码放在哪里。

感谢任何帮助。

0 个答案:

没有答案