2012-06-28 45 views
1

我有一個服務器提供了一個xhtml頁面,我想要在我的谷歌地球(或世界風)氣球中顯示的所有內容。我希望地標氣球在地圖上點擊時抓取html頁面。爲了簡單起見,當你從地圖上點擊它時,我想讓我的氣球成爲www.yahoo.com。動態內容在kml氣球從url

任何在線搜索都會將我發送到可以綁定到Google地球api的java代碼。我真的希望有一個客戶端千方百計做到這一點。是否有擴展的數據標籤或描述標籤可用於使此功能起作用?我甚至嘗試過使用嵌入式標籤,這對於你的視頻視頻來說非常有用,但是沒有插件可以用於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> 
... 

回答

0

你可以嘗試getBalloonHtmlUnsafe可()和HtmlDivBalloon? https://developers.google.com/earth/documentation/balloons#getballoonhtmlunsafe

但是,如果您將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); 
      }); 
     } 
    } 
}); 

如果仍然不能正常工作,請記住,谷歌地球磨砂很多氣球的數據,所以你可以嘗試使用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);