Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > JavaScript: Применение библиотек > Вопрос про формат Dae в Google Earth API


Автор: Yline 24.8.2011, 20:19
Недавно начал изучение Google Earth Api.
С сайта code.google.com скопировал пример на котором отображаеться куб.
Вот этот код:
<!--
You are free to copy and use this sample in accordance with the terms of the
Apache license (http://www.apache.org/licenses/LICENSE-2.0.html)
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
  <head>
    <meta http-equiv="content-type" content="text/html; charset=utf-8"/>
    <title>Google Earth API Sample</title>
    <script src="http://www.google.com/jsapi?key=ABQIAAAAuPsJpk3MBtDpJ4G8cqBnjRRaGTYH6UMl8mADNa0YKuWNNa8VNxQCzVBXTx2DYyXGsTOxpWhvIG7Djw" type="text/javascript"></script>
    <script type="text/javascript">
      function addSampleButton(caption, clickHandler) {
        var btn = document.createElement('input');
        btn.type = 'button';
        btn.value = caption;
        
        if (btn.attachEvent)
          btn.attachEvent('onclick', clickHandler);
        else
          btn.addEventListener('click', clickHandler, false);

        // add the button to the Sample UI
        document.getElementById('sample-ui').appendChild(btn);
      }
      
      function addSampleUIHtml(html) {
        document.getElementById('sample-ui').innerHTML += html;
      }
    </script>
    <script type="text/javascript">
    var ge;
    
    google.load("earth", "1");
    
    function init() {
      google.earth.createInstance('map3d', initCallback, failureCallback);
    
      addSampleButton('Create a 3D Model!', buttonClick);
    }
    
    function initCallback(instance) {
      ge = instance;
      ge.getWindow().setVisibility(true);
    
      // add a navigation control
      ge.getNavigationControl().setVisibility(ge.VISIBILITY_AUTO);
    
      // add some layers
      ge.getLayerRoot().enableLayerById(ge.LAYER_BORDERS, true);
      ge.getLayerRoot().enableLayerById(ge.LAYER_ROADS, true);
    
      var la = ge.getView().copyAsLookAt(ge.ALTITUDE_RELATIVE_TO_GROUND);
      la.setRange(100000);
      ge.getView().setAbstractView(la);
    
      create3dModel();
    
      document.getElementById('installed-plugin-version').innerHTML =
        ge.getPluginVersion().toString();
    }
    
    function failureCallback(errorCode) {
    }
    
    function create3dModel() {
      // Create a 3D model, initialize it from a Collada file, and place it
      // in the world.
    
      var placemark = ge.createPlacemark('');
      placemark.setName('model');
      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('http://earth-api-samples.googlecode.com/svn/trunk/examples/' +
                   'static/splotchy_box.dae');
      model.setLink(link);
    
      var la = ge.getView().copyAsLookAt(ge.ALTITUDE_RELATIVE_TO_GROUND);
      loc.setLatitude(la.getLatitude());
      loc.setLongitude(la.getLongitude());
    
      placemark.setGeometry(model);
    
      la.setRange(300);
      la.setTilt(45);
      ge.getView().setAbstractView(la);
    }
    
    function buttonClick() {
      create3dModel();
    }
    
    </script>
  </head>
  <body onload="init()" style="font-family: arial, sans-serif; font-size: 13px; border: 0;">
    <div id="sample-ui"></div>
    <div id="map3d" style="width: 500px; height: 380px;"></div>
    <br>
    <div>Installed Plugin Version: <span id="installed-plugin-version" style="font-weight: bold;">Loading...</span></div>
  </body>
</html>

Далее в программе SketchUp создал свою 3-х мерную модель куба и загрузил а свой сайт. В этом коде в строчке
  link.setHref('http://earth-api-samples.googlecode.com/svn/trunk/examples/' +
                   'static/splotchy_box.dae');

меняю на адрес расположения своего куба 
  link.setHref('http://имя_сайта/1.dae');

но моего куба не видно, атолько океан, Подскажите пожалуйста, что я не так делаю

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)