Wie man Bildschirm XY von Google maps (V3) LatLng?
Habe ich Polylinie in meiner Karte. Ich möchte wissen, die pixel (Bildschirm) xy-Koordinaten, wenn der Benutzer klickt auf die Polylinie. Click-Ereignis gibt nur die LatLng-Objekt, also hat jemand eine Ahnung, wie man die Koordinaten der pixel von latLng?
Ich würde sehr schätzen wenn mir jemand helfen könnte!
- wenn Sie sagen, pixel-Koordinaten meinst du x-y-Koordinaten der Maus?
- Yep, genau, und die xy-der div-container
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wenn Sie die LatLng-Objekt verwenden, können Sie die google map-Projektion-Objekt zu verwandeln, in die tile-Koordinaten und Sie dann in pixel-Koordinaten:
Für die docs auf der Projektion Klasse:
https://developers.google.com/maps/documentation/javascript/reference#Projection
Google Beispiel erklären, wie die Transformation einer LatLng in ein pixel-Koordinate:
https://developers.google.com/maps/documentation/javascript/examples/map-coordinates?csw=1
Gibt es einen Haken. Die oben wird Ihnen die pixel-Koordinaten in google map-div (was Sie wollen, kann je nach Bedarf). Wenn Sie wollen, dass die Pixel relativ zur oberen linken Ecke des Bildschirms, gibt es einen Schritt mehr. Sie müssen die gleiche Projektion auf die des Viewports der linken oberen Ecke, und subtrahieren Sie die beiden. Dies wird Ihnen die pixel-Koordinaten des LatLng Punkt.
Den code, den ich schließlich sah wie folgt aus (beachten Sie, dass "latLng" ist ein Eingang):