关闭标记移动到地图Android的中心

时间:2014-09-15 02:39:16

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

我使用InfoWindowAdapter在Google地图中使用自定义InfoWindow。每次我点击标记时,它都会移动到移动屏幕的中心并打开信息窗口。我想知道是否有可能阻止标记从当前位置移动到中心。我使用以下代码:

googleMap.setInfoWindowAdapter(new UserInfoWindowAdapter(getLayoutInflater()));
googleMap.setOnInfoWindowClickListener(new OnInfoWindowClickListener() {
    @Override
    public void onInfoWindowClick(Marker marker) {      
        //other Code
    }
});

1 个答案:

答案 0 :(得分:1)

首先是代码:

mMap.setOnMarkerClickListener(new GoogleMap.OnMarkerClickListener() {
    Marker mLastMarker;
    @Override
    public boolean onMarkerClick(Marker marker) {
        if (marker.equals(mLastMarker)) {
            // Same marker clicked twice - hide InfoWindow
            mLastMarker = null;
            marker.hideInfoWindow();
        } else {
            mLastMarker = marker;
            marker.showInfoWindow();
        }
        return true;
    }
});

其次是上述代码提供的功能:

  • 覆盖默认的OnMarkerClick功能(return true;
  • 模仿isInfoWindowShown功能,因为该方法有known bug
  • 在上一点的帮助下,切换InfoWindow可见性
祝你好运!