我正在为我的论文构建一个地理可视化应用程序,使用谷歌的工具,最著名的是谷歌地球 api。我正在尝试将一些区域与我的地标组合,以便我可以创建不同级别的细节,以便当相机足够远时出现一些地标(代表区域的较大多边形),而当相机足够远时出现其他较小的多边形(代表较小区域)相机放大(较大的会消失)。
我知道理论上要实现这一点,我必须将地标括在区域中并设置最小和最大像素值,但是当我尝试创建区域本身时,我的问题就开始了。
更具体地说,我成功创建了该区域,但是当我尝试将其附加到文件夹中时出现错误。错误消息对我没有多大帮助,因为它来自包含其余代码的 init 回调函数。
“未捕获的错误:在 NPObject 上调用方法时出错。”
有问题的代码部分如下:
//Try to create region
//experimental
var folder = ge.createFolder('');
var region = ge.createRegion('');
var box = ge.createLatLonAltBox('');
box.setAltBox(<?= $latitude + 0.035 ?>, <?= $latitude - 0.035 ?>, <?= $longitude + 0.035 ?>, <?= $longitude - 0035 ?>, 0.0, 0.0, 0.0, ge.ALTITUDE_CLAMP_TO_GROUND);
region.setLatLonAltBox(box);
var lod = ge.createLod('');
lod.setMinLodPixels(20.0);
region.setLod(lod);
//---------------------
// Create the placemark.
//and add it to the map
var placemark = makeSimplePlacemark(<?= $latitude ?>, <?= $longitude ?>, '<?= $location ?>');
folder.getFeatures().appendChild(region);
folder.getFeatures().appendChild(placemark);
ge.getFeatures().appendChild(folder);
如果我删除以下行:“folder.getFeatures().appendChild(region);” 它工作正常,但我需要区域或其他解决方案 perhups。而且我几乎可以肯定,问题很简单,我错过了... :(
任何帮助表示赞赏。提前感谢您的宝贵时间。