Ich versuche, eine Markierung zu setzen, wenn der Benutzer auf die Karte klickt. Ich verwende ein SupportMapFragment
in einem ActionBarActivity
. Aber die Karte antwortet nicht, außerdem funktioniert eine Operation map.setMapType()
nicht.
Hier ist mein Code:
%Vor% Logcat zeigt die Meldung "on view created" an und die Karte zeigt den aktuellen Standort mit einem Marker an, so dass der letzte Teil des Codes ausgeführt wird. Aber die onMapClickListener
ist übergangen oder etwas, weil es nicht funktioniert, und die Karte ist kein Satellit.
Kann mir jemand helfen?
Wenn Sie SupportMapFragment erweitert haben, können Sie das einfach tun:
%Vor% Beachten Sie, dass getMap () in onActivityCreated
und inflater.inflate(R.layout.map, container, false)
aufgerufen wird, wenn Sie kein benutzerdefiniertes Layout verwenden.
Sie brauchen nicht einmal ein map.xml-Layout!
Sie erweitern SupportMapFragment
, aber Sie erweitern ein weiteres MapView
(nicht das, das standardmäßig an SupportMapFragment
gebunden ist). Aus diesem Grund sehen Sie die Änderungen in Ihrer Map nicht. Weil du auf dem Standard View
get von getMap()
gehandelt hast, aber du siehst ein anderes. Informationen zu getMap () finden Sie in den Dokumenten / a>:
%Vor%Ruft die zugrundeliegende GoogleMap ab, die an die damit verknüpfte Ansicht gebunden ist Fragment.
Ich hoffe, es hilft;)
Nun, Sie platzieren einen Listener für Ihre Map, aber Sie müssen einen Listener für Ihre Marker erstellen.
%Vor%oder für die InfoWindows oben auf den Markierungen:
%Vor%Auch Ihre Initialisierung der Karte, die den Satelliten zeigt, ist fast richtig:
%Vor%ändere es zu:
%Vor%Anstatt map = getMap () zu verwenden, hatte ich ein paar Zeilen später folgenden Code:
%Vor%Also habe ich einfach den Code über diese Zeile gesetzt und es ist fertig.
Anstatt map = getMap () zu verwenden, können Sie dies versuchen.
%Vor%Tags und Links android google-maps google-maps-android-api-2