我正在尝试将地标存储在全局数组中,但不确定我实际上要存储的是什么。我希望以后能够删除地标。我只需要存储lat和lng,还是需要在数组中存储某种地标obj。我试着看看谷歌文档,但我认为它们是用希腊语写的。有人能指出我正确的方向吗?
在全局数组PASSENGERS的for循环中,我们有以下代码:
// prepare placemark
var placemark = earth.createPlacemark("");
placemark.setName(PASSENGERS[i].name + " to " + PASSENGERS[i].house);
// prepare icon
var icon = earth.createIcon("");
icon.setHref(url + "/img/" + PASSENGERS[i].username + ".jpg");
// prepare style
var style = earth.createStyle("");
style.getIconStyle().setIcon(icon);
style.getIconStyle().setScale(4.0);
// prepare stylemap
var styleMap = earth.createStyleMap("");
styleMap.setNormalStyle(style);
styleMap.setHighlightStyle(style);
// associate stylemap with placemark
placemark.setStyleSelector(styleMap);
// prepare point
var point = earth.createPoint("");
point.setAltitudeMode(earth.ALTITUDE_RELATIVE_TO_GROUND);
point.setLatitude(building.lat);
point.setLongitude(building.lng);
point.setAltitude(0.0);
// associate placemark with point
placemark.setGeometry(point);
我以为我可以打印出地标:
for (var prop in placemark)
{
console.log(prop + " = " + placemark[prop]);
}
但这似乎不起作用。
答案 0 :(得分:0)
我认为您需要花一些时间来尝试理解文档。
请参阅https://developers.google.com/earth/documentation/placemarks?csw=1
一旦你将插件添加到插件中,它们就会在插件内存中,而不需要将它们存储在另一个数组中。
您可以为地标指定一个ID。
// to add
var placemark= ge.createPlacemark('your_id_here');
ge.getFeatures().appendChild(placemark);
// to remove
var myPlacemark= ge.getElementById('your_id_here');
ge.getFeatures().removeChild(myPlacemark);