如何返回(显示)弹出警报的高程点。

时间:2013-08-16 12:27:57

标签: javascript google-maps

我想从警报弹出的代码中取回高程值,就像我能够获得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;
    }

1 个答案:

答案 0 :(得分:0)

elevation service是异步的。您无法从中返回任何内容,您只能在回调函数中使用数据(如果可用)。