【问题标题】:Marker in google maps for android安卓谷歌地图中的标记
【发布时间】:2015-07-07 19:06:55
【问题描述】:

我想知道如何在 android 的 google maps 上为 ma​​rker 设置“OnClick”。

示例:用户触摸标记,我的应用检测到这一点。

我的标记

 @Override
    public void onMapReady(GoogleMap map) {
        map.moveCamera(CameraUpdateFactory.newLatLngZoom(
                new LatLng(-18.142, 178.431), 2));
        map.setMapType(GoogleMap.MAP_TYPE_TERRAIN);
        map.setMyLocationEnabled(true);
        mUiSettings = map.getUiSettings();

        mUiSettings.setZoomControlsEnabled(true);
        LatLng sydney = new LatLng(-33.867, 151.206);

        map.setMyLocationEnabled(true);
        map.moveCamera(CameraUpdateFactory.newLatLngZoom(sydney, 13));

        map.addMarker(new MarkerOptions()
                .title("Sydney")
                .snippet("The most populous city in Australia.")
                .position(sydney));
    }

【问题讨论】:

    标签: android xml google-maps google-maps-markers


    【解决方案1】:

    试试OnMarkerClickListener,如下:

    map.setOnMarkerClickListener(new OnMarkerClickListener(){
    
                @Override
                public boolean onMarkerClick(Marker arg0) {
                    // do your stuff
                    return true;
                }});
    

    【讨论】:

    • 我认为在你“完成工作”之后也返回 true
    【解决方案2】:
    implement OnMarkerClickListener
    
    public class MarkerDemoActivity extends android.support.v4.app.FragmentActivity
            implements OnMarkerClickListener
        {
            private Marker myMarker;    
    
                myMarker = googleMap.addMarker();
            }
    
            @Override
            public boolean onMarkerClick(final Marker marker) {
    
                if (marker.equals(myMarker)) 
                {
                    //handle click here
                }
            }
        }
    

    【讨论】:

      【解决方案3】:

      例子

      this.googleMap.setOnMarkerClickListener(new OnMarkerClickListener() {                       
                                  @Override
                                  public boolean onMarkerClick(Marker arg0) {
                                      Log.d(TAG, arg0.getTitle() + " | " + arg0.getPosition().toString());            
                                      return false;
                                  }
                              });
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2018-01-19
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-09-02
        • 2014-02-23
        相关资源
        最近更新 更多