функция. эта анонимная функция выполняется где-то внутри скриптов Google обработчиками ответов ajax, поэтому эта информация никогда не попадет в ваш код. AJAX работает, хотя обратный вызов выполняется, но не с возвращаемыми значениями ... Это вне вашего контроля

от вопрос уже есть ответ здесь:

Как вернуть переменную из обратного вызова геокодера Google Maps JavaScript? 5 ответов

Когда я использую код ниже его предупреждения пустое значение? почему это?

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);
  }

Ответы на вопрос(1)

Ваш ответ на вопрос