GroundOverlay和TimeSpan嵌入式Google地球

时间:2013-06-04 17:35:12

标签: kml google-earth google-earth-plugin

我正在尝试为Google Earth嵌入添加地面叠加层。地面叠加层有一系列六个透明的gif图像 - 其URL被动态添加到KML文件中。唯一的问题是 - 现在如何在没有“图标”的情况下使用ge.createGroundOverlay('')添加地面叠加层 - 这是一个网址。试图使用网络链接添加它,但是所有六个图像都被抛在那里,并且没有滑块可以为它们设置动画。

1 个答案:

答案 0 :(得分:0)

看看教程和代码示例: https://developers.google.com/earth/documentation/geometries#groundoverlay

要确保动画正常工作,您必须设置groundOverlay的时间元素:timeSpan或timeStamp。 见https://developers.google.com/earth/documentation/time

以下是使用网址在Google地球API中创建地面叠加层的代码片段:

// Create the GroundOverlay
var groundOverlay = ge.createGroundOverlay('');

// Specify the image path and assign it to the GroundOverlay
var icon = ge.createIcon('');
icon.setHref("http://www.google.com/logos/earthday08.gif");
groundOverlay.setIcon(icon);

var timeSpan = ge.createTimeSpan('');
timeSpan.getBegin().set('2009-01-01T17:00:00Z');
timeSpan.getEnd().set('2009-01-01T18:00:00Z');
groundOverlay.setTimePrimitive(timeSpan)

// Specify the geographic location
var latLonBox = ge.createLatLonBox('');
latLonBox.setBox(48.80, 48.75, -121.77, -121.85, 0);
groundOverlay.setLatLonBox(latLonBox);

// Add the GroundOverlay to Earth
ge.getFeatures().appendChild(groundOverlay);

如果您通过NetworkLink添加GroundOverlay,则NetworkLink的URL必须是KML,其中包括GroundOverlay和覆盖图像的关联URL。 见https://developers.google.com/earth/documentation/kml#kmlnetworklink

var link = ge.createLink('');
var href = 'http://code.google.com/'
           + 'apis/earth/documentation/samples/kml_example.kml'
link.setHref(href);

var networkLink = ge.createNetworkLink('');
networkLink.set(link, true, true); // Sets the link, refreshVisibility, and flyToView

ge.getFeatures().appendChild(networkLink);