1

オンデマンドで(クリック時に)非表示および表示(表示のオンとオフを切り替えるなど)できる目印を作成しようとしています...これを使用して目印を作成しています:

function placemark(lat, long, name, url, iconsrc){
    var placemark = ge.createPlacemark(name);
    ge.getFeatures().appendChild(placemark);
    placemark.setName(name);

    // Create style map for placemark
    var icon = ge.createIcon('');
    if(iconsrc == "0")
        icon.setHref('http://maps.google.com/mapfiles/kml/paddle/red-circle.png');
    else{
        icon.setHref(iconsrc);
    }
    var style = ge.createStyle('');
    style.getIconStyle().setIcon(icon);
    if(iconsrc != "0")
        style.getIconStyle().setScale(2.5);

    placemark.setStyleSelector(style);

    // Create point
    var point = ge.createPoint('');
    point.setLatitude(lat);
    point.setLongitude(long);
    //point.setAltitudeMode(1500);
    placemark.setGeometry(point);
    google.earth.addEventListener(placemark, 'click', function(event) {
    // Prevent the default balloon from popping up.
        event.preventDefault();

        var balloon = ge.createHtmlStringBalloon('');
        balloon.setFeature(placemark); // optional
        balloon.setContentString(
            '<iframe src="'+ url +'" frameborder="0"></iframe>');

        ge.setBalloon(balloon);
    });              

}

私はすべてを試しました...これから:

function hidePlacemark(name){
    var children = ge.getFeatures().getChildNodes();
    for(var i = 0; i < children.getLength(); i++) { 
        var child = children.item(i);
        if(child.getType() == 'KmlPlacemark') {
            if(child.getId()== name)
            child.setVisibility(false);
        }
    }
}

これを使うことにge.getFeatures().removeChild(child);

オンデマンドで可視性をオン/オフできるようにする関数を作成する際に、誰かが私を正しい方向に向けることができますか?

4

2 に答える 2

1

私は普通のge.getFeatures().removeChild(placemark);作品だと思います。

このGooglePlaygroundで遊んで、次のコードを 8 行目に追加しました (このGooglePlayground Sampleでは空です)。

  addSampleButton('Hide Placemark', function(){ 
       ge.getFeatures().removeChild(placemark); 
  });

[目印を非表示] ボタンをクリックすると、お守りのように目印が非表示になります。問題がコードの別の場所にある可能性はありますか?

于 2013-04-18T23:26:36.280 に答える