Ich versuche einen Weg zu finden, meine Kartenmarkierung in meiner Kartenfragmentaktivität zu zentrieren. Bisher habe ich versucht, jedes Mal, wenn die Karte bewegt wird, einen Marker in die Mitte des Bildschirms zu setzen, d. H. Die Kameraposition wird aktualisiert. Aber das Problem mit dieser Lösung ist, dass jedes Mal, wenn ein neuer Marker in die Karte in der Mitte hinzugefügt wird und der alte dort bleibt, so würde ich in nur ein paar Zügen 10 Marker auf meinem Bildschirm haben. Ich habe versucht, die Clear-Methode zu verwenden, bevor ich den nächsten Marker hinzufüge, aber jetzt blinkt der Marker zu sehr. Hier ist mein Code:Wie wird die Kartenmarkierung immer in der Mitte des Bildschirms gehalten? Android
mMap.setOnCameraChangeListener(new GoogleMap.OnCameraChangeListener() {
@Override
public void onCameraChange(CameraPosition cameraPosition) {
LatLng location=mMap.getCameraPosition().target;
MarkerOptions marker=new MarkerOptions().position(location).title("");
mMap.clear();
mMap.addMarker(marker);
mMap.moveCamera(CameraUpdateFactory.newLatLngZoom(location, 16));
}
});
Die andere Lösung, die ich gefunden habe, ist eine zentrierte Image zu verwenden, aber das Problem mit diesem ist, dass ich das Symbol meiner Markierung ändern möchten. Aber wenn ich ein image Bild zur Bildansicht hinzufüge, ist die Mitte der Kamera im grünen kleinen Kreis in der Mitte dieses Bildes und nicht das spitze Ende davon, wie ich will. Bitte helfen Sie.
Werfen Sie einen Blick auf http://stackoverflow.com/questions/36157242/pinch-to-zoom-google-map-with-out-moving-marker-in-framelayout/36287722#36287722 – antonio
Es tut mir leid Aber kannst du klären, wie genau ich das AnchoredImageView verwenden kann? Ich habe es als Java-Klasse im Verzeichnis src/main/hinzugefügt, aber was nun? –
Jetzt müssen Sie Ihre Layout-XML wie im Beispiel und als der Rest des Codes auf Ihrer Aktivität – antonio