0

我想从弹出的警报代码中取回海拔值,就像我能够获取 lat 和 lng 的值一样。我试图在一个数组中获取三个值(lat、lng 和海拔高度),以便稍后我可以使用 OpenGL 显示这些值,但我只停留在这部分上,因为一切正常。这是我正在使用的代码。谢谢

  var bounds = map.getBounds();
  var ne = bounds.getNorthEast();
  var sw = bounds.getSouthWest();
  var nw = new google.maps.LatLng (ne.lat(), sw.lng());
  var se = new google.maps.LatLng(sw.lat(), ne.lng());

  for(var i = 0 ; i<= (ne.lat() - sw.lat()); i+=0.01)
 { for(var j =0 ; j<=(ne.lng() - sw.lng());j+=0.01)
      {
       var tmpele; //temp variable for elevation<br/>
       lt.push(sw.lat()+i);<br/>
       ln.push(sw.lng()+ j);<br/>

       var d = new google.maps.LatLng((sw.lat()+i),(sw.lng()+ j));
               loca.push(d);
       el.push(pospoint(loca));
      } }
      alert(lt);
      alert(ln);

      alert(el);

   }
   function disp()
   {
   alert(el);
   }
   function pospoint(loca)
   {

    var tmp;
    var positionalRequest = {    
                'locations': loca   
                           }
       elevationService.getElevationForLocations(positionalRequest, function(results, status) { 
           if (status == google.maps.ElevationStatus.OK) {
                    tmp=results;
                //  alert('got:'+tmp);
                //  return tmp;
                    }
                     });
    return tmp;
    }
4

1 回答 1

0

海拔服务是异步的。你不能从它返回任何东西,你只能在回调函数中使用数据(当它可用时)。

于 2013-08-16T12:55:42.183 回答