Mit Google Maps API 3, habe ich eine Polylinie mit einem Klick-Ereignis. Ich muss herausfinden, zwischen welchen zwei Punkten in dem Pfad der Benutzer geklickt hat. Idealerweise der Index der Punkte.Google Maps Polylinie klicken zwischen den Punkten
Im Folgenden finden Sie eine Beispielseite, die größtenteils direkt von Google Docs stammt, aber das Klickereignis hinzugefügt wurde. Die eigentliche App hat viel komplexere Polylinien.
Gibt es eine Möglichkeit, dies zu tun?
Vielen Dank
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="initial-scale=1.0, user-scalable=no">
<meta charset="utf-8">
<title>Polylines</title>
<style>
#map {
height: 100%;
}
/* Optional: Makes the sample page fill the window. */
html, body {
height: 100%;
margin: 0;
padding: 0;
}
</style>
</head>
<body>
<div id="map"></div>
<script>
function initMap() {
var map = new google.maps.Map(document.getElementById('map'), {
zoom: 3,
center: {lat: 0, lng: -180},
mapTypeId: 'terrain'
});
var flightPlanCoordinates = [
{lat: 37.772, lng: -122.214},
{lat: 21.291, lng: -157.821},
{lat: -18.142, lng: 178.431},
{lat: -27.467, lng: 153.027}
];
var poly = new google.maps.Polyline({
path: flightPlanCoordinates,
geodesic: true,
strokeColor: '#FF0000',
strokeOpacity: 1.0,
strokeWeight: 2
});
poly.setMap(map);
google.maps.event.addListener(poly, 'click', function(e) {
alert(JSON.stringify(e));
});
}
</script>
<script async defer
src="https://maps.googleapis.com/maps/api/js?key=MYAPIKEY&callback=initMap">
</script>
Ich habe diesen Pfad gestartet, aber es verursacht Probleme, wenn es eine Kürzungsstraße gibt. Der "nächstgelegene" Punkt befindet sich möglicherweise auf einer Straße, auf der Sie an dieser Stelle nicht gerade sind –