Kann nicht Holen Sie sich google maps computeDistanceBetween (), um einen Wert zurückzugeben
Den computeDistanceBetween()
- Funktion in google maps geometrie-Bibliothek wird nicht wieder einen Wert für mich. Mit der alert
Funktion, die es sagt, die Entfernung ist "[Objekt, Objekt]". Kann jemand sehen, wo ich bin mache ich falsch? hier sind die wichtigsten Teile des Codes in Frage:
<script type="text/javascript" src="http://maps.googleapis.com/maps/api/js?sensor=false&libraries=geometry"></script>
<script type="text/javascript" >
var myArray1= [['location1', lat1, lng1], ['location2', lat2, lng2], ...];
var myArray2= [['locationA', latA, lngA], ['locationB', latB, lngB], ...];
var arrays = [myArray1, myArray2];
function codeStart() {
var orig;
var startAddress = document.getElementById("start").value;
geocoder.geocode( { 'address': startAddress}, function(results, status) {
if (status == google.maps.GeocoderStatus.OK) {
var i = 0;
var input = results[0].geometry.location;
while (i < arrays.length) {
orig = closest(input, arrays[i]);
}
}
});
}
function closest(latlng, array){
var distance;
var c = 0;
while (c < array.length){
var location = array[c];
var locationlatlng = new google.maps.LatLng(location[1],location[2]);
distance = new google.maps.geometry.spherical.computeDistanceBetween(latlng, locationlatlng);
alert(distance); //popup box says "[object, Object]"
c++;
}
}
</script>
Du musst angemeldet sein, um einen Kommentar abzugeben.
computeDistanceBetween
ist eine statische Methode. Also diese Zeile:sollte hier stattdessen:
Durch die Art und Weise, wenn
alert()
Ihnen sagt, dass etwas ist ein Objekt, es ist eine gute Zeit zu wechseln, umconsole.dir()
stattalert()
so können Sie (zumindest in einigen Browsern) Blick auf den Inhalt des Objekts in der Konsole/dev tools. Wenn Sie nicht wissen viel über Ihre JavaScript-Konsole, check it out. Es erspart Ihnen Tonnen von Zeit.Aus irgendeinem Grund haben Sie verwendet die syntax zum erstellen eines neuen Objekts. Das ist, warum, wenn Sie
alert(distance)
sieht man, dassdistance
ist ein Objekt.computeDistanceBetween
ist nur eine Funktion: