在GE插件API GEHelper.cs中有一个函数FlyToObject。由于我无法让kml将我带到地标,我以为我会使用API调用。
FlyToObject所需的参数是: “动态ge” “动态功能”,
我坚持'功能'论点是什么。描述说“api对象”。我不确定指的是哪个api对象或如何创建它。
我正在尝试自动(在加载文件时)“飞到”我的kml文件中的地标。
如果有人知道如何用KML做什么就会很棒。这是我正在加载的KML文件不起作用。这是Google的示例文件之一。
<kml xmlns="http://www.opengis.net/kml/2.2">
<Placemark>
<name>300m straight down</name>
<Camera>
<longitude>-122.4783</longitude>
<latitude>37.812</latitude>
<altitude>300</altitude>
<heading>0</heading>
<tilt>0</tilt>
<roll>0</roll>
<altitudeMode>absolute</altitudeMode>
</Camera>
</Placemark>
</kml>
谢谢!
答案 0 :(得分:0)
如果您要将Google地球加载到自己的网页中,则可以通过javascript访问GE API。因此,如果要设置某个视图,请使用以下代码
// Create a new LookAt.
var lookAt = ge.createLookAt('');
// Set the position values.
lookAt.setLatitude(36.584207);
lookAt.setLongitude(-121.754322);
lookAt.setRange(5000.0); //default is 0.0
// Update the view in Google Earth.
ge.getView().setAbstractView(lookAt);
更高级:如果您要使用自己的地标加载自定义kml文件。在kml文件中将它们分配为id
<Placemark id="uniqueId">
然后,加载后,使用此代码
placemark = ge.getElementById(uniqueId);
if (placemark == null) {
return false;
} else if (placemark.getAbstractView()) {
ge.getView().setAbstractView(lastViewLoaded);
}