Ich verwende Google Autocomplete und möchte den Ländercode (GB, IE, FR usw.) von dem auf der Website eingegebenen Standort abrufen.Google Maps API Ländercode abrufen
AutocompleteDirectionsHandler.prototype.setupPlaceChangedListener = function(autocomplete, mode) {
var me = this;
autocomplete.bindTo('bounds', this.map);
autocomplete.addListener('place_changed', function() {
var place = autocomplete.getPlace();
if (mode === 'ORIG') {
me.originPlaceId = place.place_id;
document.getElementById("orig_latitude").value= place.geometry.location.lat();
document.getElementById("orig_longitude").value= place.geometry.location.lng();
document.getElementById("country_from").value = place.address_components[1].short_name;
} else {
me.destinationPlaceId = place.place_id;
document.getElementById("dest_latitude").value= place.geometry.location.lat();
document.getElementById("dest_longitude").value= place.geometry.location.lng();
document.getElementById("country_to").value = place.address_components[2].short_name;
}
me.route();
});
};
leider hier die
place.address_components [1] .short_name;
gibt das lokale Gebiet zurück, in dem sich diese Stadt/Stadt befindet.
Wie kann ich den Ländercode bekommen?
Vielen Dank für Ihre Eingabe in dieser Angelegenheit sehr geschätzt ;-)
Vielen Dank für Deep 3015. Vielleicht können Sie etwas Licht darauf werfen? Ich habe ein paar mehr Dinge aus meinem ersten Skript ausprobiert, und ich bekomme nicht das gleiche Ergebnis, wenn ich document.getElementById ("country_from") verwende. Value = place.address_components [2] .short_name; oder document.getElementById ("country_from"). Value = place.address_components [3] .short_name; Es scheint, als ob die Zahl in eckigen Klammern einen anderen Wert, z.B. London: [1] Greater London [2] England [3] GB ist perfekt. Aber wenn ich dies auf eine irische Stadt anwende, wird das gleiche Niveau [3] nichts zurückgeben. Würdest du wissen warum? Danke – FusionDesign
Das 'Autocomplete' Ergebnis variiert während der Eingabe. Wenn Sie die Ausgabe für verschiedene Eingaben sehen möchten. Sie können 'console.log (JSON.stringify (autocomplete.getPlace()))'. In diesem Protokoll können Sie Variable Ergebnis (Position in Json Zeichenfolge) für Ländervorkommen zu sehen. Auf diese Weise können wir die genaue Reihenfolge der Ereignisse nicht genau vorhersagen. In meinem Code habe ich 'if (addressObj.types [j] === 'country')' verwendet, um sicherzustellen, dass das Ergebnis dem Landtyp entspricht. Hoffe, das gibt genug Erklärung –