Как предупредить широту в этом JavaScript Google Maps? - PullRequest
2 голосов
/ 30 ноября 2010

Как видите, там есть строка, которая выдает предупреждение.Это "undefined".Принимая во внимание, что если я просто предупреждаю results[0].geometry.location, это предупреждает (41.321, 41.556).

Я просто хочу предупредить его и установить его (как целое число) для одного из моих id_lat и id_longs ...

$("#geocodesubmit").click(function(){
        $("#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;
    });

Ответы [ 2 ]

33 голосов
/ 30 ноября 2010

Используйте results[0].geometry.location.lat() для получения широты и results[0].geometry.location.lng() для долготы.

6 голосов
/ 30 ноября 2010

Если вы посмотрите на API , location - это не массив (это главная проблема здесь), это свойство, поэтому .location является правильным способом доступа к нему, а не .location[0].

Официальную документацию немного сложно найти для конкретных типов, , но вот обновленные документы по этому location (тип LatLng) :

toString() - это то, что вы получаете в предупреждении (lat, long), также есть .lat() для широты и .lng() для долготы, например:

alert(results[0].geometry.location.lat());
alert(results[0].geometry.location.lng());
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...