我正在尝试为 JavaScript 的 Google Earth API
插件创建搜索框
我能够解析 KMLFile
并在 GE API 中加载,现在我必须通过 KML 加载的地标名称嵌入搜索
使用纬度和经度的代码
var lookAt = ge.createLookAt('');
lookAt.set(point.y, point.x, 600, ge.ALTITUDE_RELATIVE_TO_GROUND, 0, 00, 0);
ge.getView().setAbstractView(lookAt);
除了使用 LAT、LONG 之外,LookAt
是否有可能使用地标名称?
最佳答案
是的,有很多方法可以查看地标。最简单的方法是如果地标已定义抽象 View 。例如
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());
}
如果地标没有抽象 View ,您仍然可以使用访问器来查找正确的地标,然后从中提取几何图形以创建外观。
var placemark = ge.getElementByUrl('http://site.com/foo.kml#MyPlacemark');
var point = placemark.getGeometry();
var lat = point.getLatitude();
var lng = point.getLongitude();
关于javascript - Google Earth API 按地标名称搜索,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15925803/