1

google earth(またはworldwind)バルーンに表示したいすべてのコンテンツを含むxhtmlページを提供しているサーバーがあります。地図上でクリックしたときに、目印のバルーンでhtmlページを取得したいのですが。簡単にするために、マップからバルーンをクリックしたときに、バルーンをwww.yahoo.comにします。

オンラインで検索すると、GoogleEarthAPIにフックできるJavaコードが表示されます。これを行うためのクライアント側のkmlの方法があることを本当に望んでいます。これを機能させるために使用できる拡張データタグまたは説明タグはありますか?私はあなたのチューブビデオに最適な埋め込みタグを使用しようとしましたが、htmlページ用のプラグインはありません。どんな助けでも大歓迎です。

これも機能しますが、iframeはかなり醜いです-

<Placemark> 
  <name>Test Placemark</name> 
    <description> 
      <![CDATA[ 
        <iframe src="http://www.yahoo.com" frameborder="0" 
           scrolling="auto" height="500" width="600"></iframe> 
      ]]> 
    </description> 
...
4

1 に答える 1

0

getBalloonHtmlUnsafe() と HtmlDivBalloon を試すことができますか? https://developers.google.com/earth/documentation/balloons#getballoonhtml安全でない

ただし、ページに kml を追加すると、クリック機能をそれらの目印にバインドできます。

google.earth.fetchKml(ge, url, function(kmlObject){
   if(kmlObject){
      ge.getFeatures().appendChild(kmlObject);

      if(kmlObject.getType() === 'KmlPlacemark'){
          google.earth.addEventListener(kmlObject, 'click', function(event){
               event.preventDefault();

               var balloon = ge.createHtmlDivBalloon('');
               var content = kmlObject.getBalloonHtmlUnsafe();
               balloon.setFeature(kmlObject);
               var div = document.createElement('div');
               div.innerHTML = content;
               balloon.setContentDiv(div);

               ge.setBalloon(balloon);
          });
      }
   }
});

それでもうまくいかない場合は、Google Earth が大量のバルーン データをスクラブするので、jquery を使用して html を挿入してみてください。

var balloon = ge.createHtmlDivBalloon('');
var content = kmlObject.getBalloonHtmlUnsafe();
balloon.setFeature(kmlObject);
var div = document.createElement('div');
balloon.setContentDiv(div);

ge.setBalloon(balloon);
$(div).html(content);
于 2012-07-27T20:44:33.123 に答える