开发者

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());
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜