点击MapView v2后,Google地图即会打开

时间:2016-04-20 21:48:04

标签: android google-maps-api-2

我一直在努力让 MapView 无法点击。我希望有人也遇到这个问题。

这是我的代码:

<com.google.android.gms.maps.MapView
   android:id="@+id/map_header"
   android:layout_width="fill_parent"
   android:layout_height="90dp"
   android:clickable="false"
   android:longClickable="false"
   map:liteMode="true"
   map:mapType="normal"
/>

此外:

mMap.getUiSettings().setAllGesturesEnabled(false);
mMap.getUiSettings().setMapToolbarEnabled(false);
CameraPosition cameraPosition = new CameraPosition.Builder()
            .target(userLocation)
            .zoom(16)
            .build();
mMap.animateCamera(CameraUpdateFactory.newCameraPosition(cameraPosition));
mProgressBar.setVisibility(View.GONE);

这只发生在我使用lite模式时。在普通模式下,它不可点击。

提前致谢:)

3 个答案:

答案 0 :(得分:2)

考虑到您在活动中使用它。您可以执行以下操作

public class MapActivity extends AppCompatActivity implements OnMapReadyCallback {

    MapView mapView;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_map);

        // Gets the MapView from the XML layout and creates it
        mapView = (MapView) v.findViewById(R.id.map_header);
        mapView.setClickable(false);
        mapView.getMapAsync(this);
    }

    @Override
    public void onMapReady(GoogleMap map) {
        // Perform action on your map. E.g. Display marker 
    }
}

答案 1 :(得分:2)

我也有这个问题。解决这个问题的方法是覆盖onMapClick监听器,如下所示:

mMap.setOnMapClickListener(new GoogleMap.OnMapClickListener() {
    @Override
    public void onMapClick(LatLng latLng) {
        //do nothing, we want to suppress launching Google Maps
    }
});

答案 2 :(得分:-1)

mapView.setClickable(false)回拨(getMapAsync方法)中设置onMapReady