How do I alert the latitude in this Google Maps javascript?
As you can see, there is a line in there that does an alert. It's "undefined
". Whereas if I just alert results[0].geometry.location
, it alerts (41.321, 41.556)
.
I just want to alert it and set it (as an int) to one of my id_lat and id_longs...
$("#geocodesubmit").click(f开发者_JS百科unction(){
$("#id_lat").val("");
$("#id_long").val("");
var address = $("#addressinput").val();
geocoder.geocode( { 'address': address}, function(results, status) {
if (status == google.maps.GeocoderStatus.OK) {
$("#badlocation_holder").hide();
$("#map_canvas").show();
$("#map_canvas_holder").show().css("background-color", "#E6E6FA").animate({"background-color":"#f5f5f5"}, 800);
;
var map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);
map.setCenter(results[0].geometry.location);
alert(results[0].geometry.location[1]); //this is undefined.
$("#id_lat").val(results[0].geometry.location[0]);
$("#id_long").val(results[0].geometry.location[1]);
var marker = new google.maps.Marker({
map: map,
position: results[0].geometry.location,
draggable:true
});
} else {
$("#map_canvas_holder").hide();
$("#badlocation_holder").show().css("background-color","#F08080").animate(
{"background-color":"#f5f5f5"},800);
}
});
return false;
});
Use results[0].geometry.location.lat()
to get the latitude and results[0].geometry.location.lng()
for the longitude.
If you look at the API, location
isn't an array (that's the main issue here), it's a property, so .location
is the correct way to access it, not .location[0]
.
The official documentation is a bit hard to find for specific types, but here are updated docs on that location
(a LatLng
type):
The toString()
is what you're getting in an alert (lat, long)
, there's also .lat()
for latitude and .lng()
for longitude, like this:
alert(results[0].geometry.location.lat());
alert(results[0].geometry.location.lng());
精彩评论