2012-10-19 49 views
0

我正在使用Google API和Sketchup開發交互式地圖。我已經創建並使用下面的代碼放在3D對象:具有地標功能的3D模型

var loc = ge.createLocation(''); 
loc.setLatitude(lookAt.getLatitude()); 
loc.setLongitude(lookAt.getLongitude()); 
model.setLocation(loc); 

// set up the model's link (must be a COLLADA file). 
// this model was created in SketchUp 
var link = ge.createLink(''); 
model.setLink(link); 
link.setHref('http://earth-api-samples.googlecode.com/svn/trunk/' + 
      'examples/static/splotchy_box.dae'); 

// create the model placemark and add it to Earth 
var modelPlacemark = ge.createPlacemark(''); 
modelPlacemark.setGeometry(model); 
ge.getFeatures().appendChild(modelPlacemark); 

// zoom in on the model 
lookAt.setRange(300); 
lookAt.setTilt(80); 
ge.getView().setAbstractView(lookAt); 

// persist the placemark for other interactive samples 
window.placemark = modelPlacemark; 

從這個樣本網站:http://earth-api-samples.googlecode.com/svn/trunk/demos/interactive/index.html

我試圖加入到3D模型定期標選項(所以它改變大小當鼠標懸停時&是可點擊的)。

我對Google API比較陌生,所以想知道:如何將這些函數添加到3D對象中?

我知道如何創建一個普通的地標(來自同一個網站),但我不知道如何使3D模型成爲地標。

謝謝。

回答

1

var placemark是一個全局變量,這是創建一個3D模型來代替地標。 試試這個代碼,它爲我工作。 我在這裏使用了Google地球插件。

function createPlacemark() { 
     console.log("in create placemark"); 
     placemark = ge.createPlacemark(''); 
     placemark.setName('placemark ' + counter); 

     var model = ge.createModel(''); 
     ge.getFeatures().appendChild(placemark); 
     var loc = ge.createLocation(''); 
     model.setLocation(loc); 
     var link = ge.createLink(''); 

     // A textured model created in Sketchup and exported as Collada. 
     link.setHref('https://sites.google.com/site/siddharthuit/downloads/crane.dae'); 
     model.setLink(link); 


     var la = ge.getView().copyAsLookAt(ge.ALTITUDE_RELATIVE_TO_GROUND); 

     // set location 
     loc.setLatitude(la.getLatitude()); 
     loc.setLongitude(la.getLongitude()); 

     placemark.setGeometry(model); 

     la.setRange(300); 
     la.setTilt(45); 
     ge.getView().setAbstractView(la); 

    } 

我有一個另外一個問題,你知道如何根據從數據庫

+0

建築(3D對象)出現動態給出的座標,地標移動,但不會做任何事情......我試圖完成的是它是一個可點擊的對象,當點擊它時,它的頂部會出現一些東西(如HTML氣球)。 –

+0

對不起,延遲迴復,但你可以做到這一點,如果你添加一個不可見的地標上面,如果你需要的代碼,我可以幫你。 – Sid

+0

嘿,謝謝你的延遲迴復,我也爲我的延誤表示歉意......如果你能幫助我的代碼,我會很感激。 –