2012-11-02 68 views
1

我想用API和Google插件在Google Earth环境中表示3D模型。在Google Earth API中克隆3D模型

我的代码:

var ge; 
    google.load("earth", "1"); 

    function init() { 
    google.earth.createInstance('map3d', initCB, failureCB); 
    } 

    function initCB(instance) { 

    ge = instance; 
    ge.getWindow().setVisibility(true); 
    ge.getNavigationControl().setVisibility(ge.VISIBILITY_HIDE); 

    // Placemark 
    var placemark = ge.createPlacemark('Modello1'); 
    placemark.setName('model'); 

    var place2 = ge.createPlacemark('Modello2'); 
    place2.setName('modello2'); 

    // Placemark/Model (geometry) 
    var model = ge.createModel('Mod1'); 
    placemark.setGeometry(model); 

    var modello2 = ge.createModel('Mod2'); 
    place2.setGeometry(modello2); 

    // Placemark/Model/Link 
    var link = ge.createLink('File1'); 
    link.setHref("http://myhost.org/table2/models/table2.dae"); 
    model.setLink(link); 

    var link2 = ge.createLink('File2'); 
    link2.setHref("http://myhost.org/tavolo/models/table2.dae"); 
    modello2.setLink(link2); 

    // get center look at location 
    var lookAt = ge.getView().copyAsLookAt(ge.ALTITUDE_RELATIVE_TO_GROUND); 

    // Placemark/Model/Location 
    var loc = ge.createLocation(''); 
    loc.setLatitude(40.01000594412381); 
    loc.setLongitude(-105.2727379358738); 
    model.setLocation(loc); 

    //slightly varying coordinates... 
    var loc2 = ge.createLocation(''); 
    loc2.setLatitude(40.01000594412389); 
    loc2.setLongitude(-105.2727379358731); 
    modello2.setLocation(loc2); 

    // add the model placemark to Earth 
    ge.getFeatures().appendChild(placemark); 
    ge.getFeatures().appendChild(place2); 

    // zoom into the model 

    lookAt.setLatitude(40.01000594412381); 
    lookAt.setLongitude(-105.2727379358738); 

    lookAt.setRange(300); 
    lookAt.setTilt(80); 
    ge.getView().setAbstractView(lookAt); 

} 

function failureCB(errorCode) { 
} 

google.setOnLoadCallback(init); 

当我加载不同的指向COLLADA(.dae)文件显示没有问题...但它不会加载该表的2倍!为什么?!?

我也试图分离实例和文件...但问题依然存在。我的环境只有一张桌子。

有没有一种方法将单个模型克隆到N个模型中?

回答

0

您是否尝试过使用parse kml来注入kml t显示模型。

也尝试使用getKml获得KML,看看它是否在我试图加载.KML文件与fetchKml(...)的独立KML文件

+0

正确呈现,并与getKml阅读()。我已经看到数字精度数字和溢出问题(它显示了exp数字) 尝试使用: loc.setLatitude(40.017005); loc.setLongitude(-105.283005); 所有似乎都正常工作。 非常感谢。 –