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