我有这个函数,它在单击按钮时被调用。该函数在预定义的位置创建一个标记。然后,我对给定点使用高程服务。当我单击按钮时,警报消息(我已将其放在那里进行诊断)显示“未定义”,然后出现标记(实际上标记应该出现在警报框之前!)。我已尽力找出问题的根源,但徒劳无功。任何人都可以帮助我吗?谢谢。
  function buttonClicked () {
     addNode(someLat, someLong);
     alert(getElev(markers[0]));
  }
  function addNode(lat, lng) {
      var LatLng = new google.maps.LatLng(lat, lng);
      var marker = new google.maps.Marker({
         position: LatLng,
      });
      marker.setMap(map);
      markers.push(marker);
  }
  function getElev (marker) {
      var ht = 0;
      var locations = [];
      var clickedLocation = marker.getPosition();
      locations.push(clickedLocation);
      var positionalRequest = {
        'locations': locations
      }
      elevator.getElevationForLocations(positionalRequest, function (results, status) {
          if (status == google.maps.ElevationStatus.OK && results[0]) 
               ht = results[0].elevation;
      });
      return ht;
  }