Загрузка/обновление 3D-модели в Google Earth

Я использую Google Планета Земля в веб-разработке, но столкнулся со странной ситуацией: это простой код из игровой площадки кода Google, и он загружает 3D-модель в Google Earth. Если я обновлю страницу, модель снова не загрузится, http://savedbythegoog.appspot.com/?id=7f8638b214605a2327af223c613a6ae13874416b

Есть ли способ исправить это.

Я столкнулся с еще одной проблемой загрузки 3D-моделей в Internet Explorer 8 на 32-разрядной машине XP, IE8 не загружает 3D-модель в Google Earth, вы можете проверить приведенную ссылку. Я также публикую код js ниже.

Пожалуйста, помогите

<!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>

Если эти ссылки не работают, скопируйте код, вставьте его в текстовый файл и переименуйте в .html, а затем выполните.


person Mark    schedule 04.02.2013    source источник


Ответы (1)


Даже я столкнулся с той же проблемой с моделями collada и Internet Explorer, код, который вы дали, отлично работает в остальных браузерах, таких как Chrome и Mozilla.

перейдите по этой ссылке, но в этом случае они загружают файл kml, а не прямая загрузка моделей коллады в браузер с помощью javascript.

person Sid    schedule 05.06.2013