Berechnen Sie die Entfernung zwischen der aktuellen Position und einem anderen Standort mit Google Maps API V3

Ich versuche zu berechnen, die Distanz zwischen meinem Standort und einem anderen Ort, aber alle ich ankommen ist NaN. Ich bin mir ziemlich sicher, legte ich den code an der falschen Stelle im Skript. Kann jemand mir helfen herauszufinden, dieses Problem?

<!DOCTYPE html>
<html>
<head>
    <script src="http://maps.google.com/maps/api/js?sensor=false&v=3&libraries=geometry"></script>
</head>
<body>
    <p id="demo"></p>
    <button onclick="getLocation()" id="demo">get current location</button>
    <button onclick="console.log(distance)">get ditance from current location to other location</button>

    <script>
        var lat;
        var longt;
        var latLngA = new google.maps.LatLng(lat, longt);
        var latLngB = new google.maps.LatLng(40.778721618334295, -73.96648406982422);
        var distance = google.maps.geometry.spherical.computeDistanceBetween(latLngA, latLngB);

        var x=document.getElementById("demo");

        function getLocation(){
            if (navigator.geolocation){
                navigator.geolocation.getCurrentPosition(showPosition);
            }
            else{
                x.innerHTML="Geolocation is not supported by this browser.";}
            }

        function showPosition(position){
            lat = position.coords.latitude;
            longt = position.coords.longitude;
            x.innerHTML="Latitude: " + lat + "<br>Longitude: " + longt; 
        }
    </script>
</body>
</html>
  • Ist latLngA eine position? Sind es die Koordinaten einstellen?
  • Ja, es ist die aktuelle position.
  • seine NaN weil Ihre latLngA = NaN
  • Die LatLng-Konstruktor Dokumentation LatLng(lat:number, lng:number, noWrap?:boolean)
InformationsquelleAutor | 2013-04-19
Schreibe einen Kommentar