我正在尝试为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?
答案 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();