Cuando uso el código debajo, ¿alerta un valor en blanco? ¿porqué es eso?¿Cómo devuelvo una longitud y una latitud del geocodificador JavaScript de Google Maps?
HTML
<body onload="initialize()">
<div id="map_canvas" style="width: 320px; height: 480px;"></div>
<div>
<input id="address" type="textbox" value="Sydney, NSW">
<input type="button" value="Encode" onclick="display()">
</div>
</body>
JavaScript
var geocoder;
var map;
function initialize() {
geocoder = new google.maps.Geocoder();
var latlng = new google.maps.LatLng(-34.397, 150.644);
var myOptions = {
zoom: 8,
center: latlng,
mapTypeId: google.maps.MapTypeId.ROADMAP
}
map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);
}
function codeAddress() {
var address = document.getElementById("address").value;
var loc=[];
geocoder.geocode({ 'address': address}, function(results, status) {
if (status == google.maps.GeocoderStatus.OK) {
loc[0]=results[0].geometry.location.lat();
loc[1]=results[0].geometry.location.lng();
} else {
alert("Geocode was not successful for the following reason: " + status);
}
});
return loc;
}
function display(){
var long_lat=codeAddress();
alert(long_lat);
}
gracias por su respuesta, ¿hay alguna manera de devolver esos valores a una variable? bcos tengo la intención de usarlo en otra función como un parámetro – manraj82
@ manraj82: compruébalo – Maxym
esto todavía no resuelve el problema que tengo, estaba planeando obtener los valores de retorno para el código postal mutiple.basicamente estaba tratando de crear un genérico función donde puedo pasar un código postal como argumento y obtener los valores largos y lat a cambio. ya que esos valores están en la devolución de llamada supongo que no se puede devolver. – manraj82