1

目印を作成し、javascript を介して Google 地球地図に追加するときに、目印に一意の ID を割り当てる方法があるかどうかは誰にもわかりませんか? 目印の作成と追加に使用しているコードの例を次に示します。

    var icon = ge.createIcon('');
    icon.setHref('<url here>');
    var style = ge.createStyle('');
    style.getIconStyle().setIcon(icon);
    style.getIconStyle().setScale(0.65);

    var pm = ge.createPlacemark('');
    pm.setStyleSelector(style);
    pm.setName("Type1");  // <-- NEED ANOTHER METHOD (ex. pm.SetId('uniqueId'))

    var pmPoint = ge.createPoint('');
    pmPoint.setLatitude(35.859545);
    pmPoint.setLongitude(-92.388783);

    pm.setGeometry(pmPoint);
    ge.getFeatures().appendChild(pm);

-------------------------------------------------- -----------

マップに追加したい KmlPlacemarks のセットが複数ありますが、それらを削除できるようにするためにそれぞれに一意の名前を割り当てる必要はありません (主に名前を表示したくないため)地図上の)。次の (不完全な) コード ブロックを使用して、特定の目印を削除しようとしています。

var children = ge.getFeatures().getChildNodes();
for(var i = 0; i < children.getLength(); i++) { 
    var child = children.item(i);
    if(child.getType() == 'KmlPlacemark') {
        if(... ??? ...) {  **// <-- don't want to use if(child.getName().indexOf('criteria') !== -1)**
            ge.getFeatures().removeChild(child);
        }
    }
}

-------------------------------------------------- -----------

誰かがこれを達成する別の方法を知っていますか? child.getUrl() を使用してみましたが、マップから削除する KmlPlacemarks を識別するために使用できるものは何も返されません...

または、マップ上の名前の可視性を false に設定する方法はありますか?

前もって感謝します。

ブランドン

4

1 に答える 1

2

目印を作成する場合

   var pm = ge.createPlacemark('');

これを使用して「id」を設定します

   var pm = ge.createPlacemark('uniqueID');

それからあなたがそれを取り除きたいとき

   if(child.getType() == 'KmlPlacemark') {
    if(... ??? ...) {  **// <-- don't want to use if(child.getName().indexOf('criteria') !== -1)**
        ge.getFeatures().removeChild(child);
    }
}

になる

   if(child.getType() == 'KmlPlacemark') {
    if(child.getId()=='uniqueID')
        ge.getFeatures().removeChild(child);
    }
}
于 2012-06-10T01:42:58.523 に答える