Javascript 使用Google Earth/Map API获取精确(1km特定)的高度值系列

Javascript 使用Google Earth/Map API获取精确(1km特定)的高度值系列,javascript,google-maps,kml,google-earth,Javascript,Google Maps,Kml,Google Earth,使用Google Earth(或Maps)API,我应该使用哪些函数来获取特定区域的高度图/高度(精度为公里,而不是纵向度数)? 例如,如果我的位置Lat=11 Long=12,我可以获得该位置的高度吗?我知道谷歌的高度可能不准确,不会有5米甚至1公里的精度,但这没关系(谷歌地球应用程序只是为了好玩,所以不需要精确的高度) 下面的代码可以获取鼠标当前所在位置的当前高度,但是是否有函数调用来获取给定位置的一系列高度值 google.earth.addEventListener(ge.getWind

使用Google Earth(或Maps)API,我应该使用哪些函数来获取特定区域的高度图/高度(精度为公里,而不是纵向度数)?

例如,如果我的位置Lat=11 Long=12,我可以获得该位置的高度吗?我知道谷歌的高度可能不准确,不会有5米甚至1公里的精度,但这没关系(谷歌地球应用程序只是为了好玩,所以不需要精确的高度)

下面的代码可以获取鼠标当前所在位置的当前高度,但是是否有函数调用来获取给定位置的一系列高度值

google.earth.addEventListener(ge.getWindow(), 'mousemove', function(evt) {

   if (event.getDidHitGlobe()) {
     var lat  = event.getLatitude();
     var long = event.getLongitude();
     var groundAltitude = ge.getGlobe().getGroundAltitude(latitude, longitude);
     if (groundAltitude) {
        alert(groundAltitude.toFixed(2));
   }
});
这是唯一的办法吗?注意,这是精确到1经度/纬度的,我可以得到更精确的值吗(比如1公里的特定值)

函数获取区域ALT(STARTONG、endLong、STARTAT、endLat){
var alt={};
while(startong
您可以使用谷歌地图API的高程服务。它接受位置数组(lat/lon值)或路径

此处演示:

此处的文档:


请注意,有使用限制

使用google earth插件,您将希望移动到拾取高程的位置,并等待高程数据下载到浏览器以获得更好的高程分辨率

要确定高程数据是否已完成下载,请使用ge.getStreamingPercent()

如果放大太远,地球仪将填充低分辨率地形模型

function obtainAreaAlt(startLong, endLong, startLat, endLat) {

     var alt = {};
     while (startLong < endLong) {
         var origLat = startLat;
         while (startLat < endLat) {
           var a = ge.getGlobe().getGroundAltitude(startLat, startLong);
           if (a)
              alt[""+startLat+","+startLong] = a.toFixed(2);
           startLat++;
         }
         startLong++;
         startLat = origLat;
     }

     return alt;
}