Google地球API按地标名称搜索

时间:2013-04-10 12:27:45

标签: javascript google-earth google-earth-plugin

我正在尝试为javascript创建Google Earth API插件的搜索框 我能够解析KMLFile并加载GE API,现在我必须通过KML加载的地标名称嵌入搜索

使用Lat& amp;长

var lookAt = ge.createLookAt('');
lookAt.set(point.y, point.x, 600, ge.ALTITUDE_RELATIVE_TO_GROUND, 0, 00, 0);
ge.getView().setAbstractView(lookAt);

LookAt使用地标名称是否有可能除了使用LAT,LONG?

1 个答案:

答案 0 :(得分:0)

是的,有很多方法可以查看地标。最简单的方法是,如果地标具有定义的抽象视图。 e.g。

if (placemark.getAbstractView()) {
   ge.getView().setAbstractView(placemark.getAbstractView());
}

您还可以使用各种访问者来引用地标。例如,如果地标有ID,则可以使用getElementById。

var placemark = ge.getElementById('MyPlacemark');
if (placemark.getAbstractView()) {
   ge.getView().setAbstractView(placemark.getAbstractView());
}

否则,如果您通过其URL加载KML,例如

// loaded via KML
var placemark = ge.getElementByUrl('http://site.com/foo.kml#MyPlacemark');
if (placemark.getAbstractView()) {
   ge.getView().setAbstractView(placemark.getAbstractView());
}

如果地标没有抽象视图,您仍然可以使用访问者找到正确的地标,然后从中提取几何图形以创建外观。

var placemark = ge.getElementByUrl('http://site.com/foo.kml#MyPlacemark');
var point = placemark.getGeometry();
var lat = point.getLatitude();
var lng = point.getLongitude();