Wie können Sie Pinch oder Multitouch-Funktion in einem Android MapView deaktivieren?So deaktivieren Sie Pinch in Android MapView
2
A
Antwort
8
Ich brauchte ein wenig Zeit, aber ich habe eine Lösung dafür. Was ich getan habe, ist die Ereignisausbreitung zu stoppen, wenn mehr als ein Finger den Bildschirm berührt.
mapView.setOnTouchListener(new OnTouchListener() {
public boolean onTouch(View v, MotionEvent event) {
if(event.getPointerCount() > 1) {
return true;
}
return false;
}
});
8
Deaktivieren Sie alle Gestures:
mapView.getMap().getUiSettings().setAllGesturesEnabled(false);
Disable nur Zoom
mapView.getMap().getUiSettings().setZoomControlsEnabled(false);
-2
Hier ist ein kleiner Trick Prise Zoom zu täuschen: P (Set eine Zoomstufe und setzen das gleiche Niveau wie maxZoom
var myOptions1 = {
//Coordinates of the map's center
center: new google.maps.LatLng(152,125),
//Zoom level
zoom: 15, // or any level of zoom you want to preload your map
maxZoom:15 // same as the zoom value makes sure the map is not zoomed,
// Andere o. ä ptionen sind nach Ihren Wünschen
0
final UiSettings uiSettings = map.getUiSettings();
uiSettings.setZoomControlsEnabled(true);
uiSettings.setZoomGesturesEnabled(false);
ich fand heraus, wenn Sie 'mapView.setBuiltInZoomControls (true) verwenden,', 'OnTouch()' nur einmal aufgerufen wird (das erste Mal), so dass diese Methode ist nutzlos. .. Denkst du, es ist ein MapView-Bug? – Murphy
kann ich nicht wirklich sagen. In meiner Anwendung hatte ichBuiltInZoomControls auf false gesetzt und meine eigenen Steuerelemente implementiert. –
Ich habe dies versucht, es funktioniert nicht, wenn Sie eingebaute Zoomsteuerelemente – user590849