【问题标题】:Ignore onMarkerClick and make onMapClick programmatically in android忽略onMarkerClick并在android中以编程方式制作onMapClick
【发布时间】:2013-10-17 08:05:23
【问题描述】:

我上面有地图和标记。当用户推动此标记或推动此标记附近时,我需要执行该应用程序将执行“onMapClick 侦听器”并返回单击坐标而不是“onMarkerClick”。以某种方式可以忽略一个标记的标记单击并改为使用 onMapClick?

我试过了,但它什么也没做:

mMap.setOnMarkerClickListener(new OnMarkerClickListener(){

      @Override
      public boolean onMarkerClick(Marker arg0) {             
           if(arg0.getSnippet().equals("bad_marker")){

                   mMap.setOnMapClickListener(new OnMapClickListener() {        
                  @Override
                  public void onMapClick(LatLng latLng) {                             
                      mapClick(latLng); 
                  }       
             });
             }});

【问题讨论】:

  • 你的问题不清楚。另外,我不会像您那样在另一个侦听器中设置侦听器。您是否需要获取刚刚单击的标记位置?如果是这样,有一个方法:getPosition()。
  • 我试过这个方法 - 但它返回点击的标记坐标,但我需要准确的点击坐标。因为点击可以在标记位置附近,但它仍然调用 onMarkerClickListener()
  • 我也有同样的问题:stackoverflow.com/questions/15401988/…

标签: click google-maps-android-api-2 marker


【解决方案1】:

将您的标记保存在一个类变量中,以便您参考它。

然后设置OnMarkerClickListener 并检查 arg0 是否是您的标记:如果是,则在用户单击该标记时执行您必须执行的操作。

还设置一个setOnMapClickListener 并检查onMapClick 给你的latLng 是否接近你的标记位置。您将标记作为类变量,因此您可以获取其位置并根据用户单击的地图上的位置对其进行检查。

【讨论】:

  • 这并不能解决如果调用 OnMarkerClick 则永远不会调用 onMapClick 的问题。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-03-11
  • 1970-01-01
  • 2020-01-16
  • 1970-01-01
  • 2014-07-28
  • 1970-01-01
相关资源
最近更新 更多