0

KML ファイルを作成し、ウェブサイトの Google Earth API で表示したいと考えています。Google コード プレイグラウンドを閲覧しました

しかし、KML を Google Earth API に解析するためにどちらを使用すればよいかわかりません。これは私が作成した KML ファイルのリンクです: http://g.co/maps/6zp5a

誰でも助けてもらえますか?

4

2 に答える 2

1

代わりにfetchKmlを使用する必要があります。

http://code.google.com/apis/ajax/playground/?exp=earth#fetch_good_kml

また、有効なURLを指定する必要があるため、「短縮URL」の代わりに完全なURLを使用し、最後に「&output=kml」を追加する必要があります。

http://maps.google.com/maps/ms?msid=201182140457027399871.0004bee0c7348bce68977&msa=0&ll=9.438,39.5105&spn=130.55749,316.054688&output=kml

そのURLをサンプルコードページに入れて実行すると、機能します

于 2012-04-30T16:37:02.240 に答える
1

以下は、kml のフェッチ関数を使用した「Hello Earth」のデモです。青いパドルを利用するには、おそらく kml でアイコンのスタイルを設定する必要があります。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html>
  <meta http-equiv="content-type" content="text/html; charset=utf-8" />
  <head>
<!--
Copyright 2008 Google Inc.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

     http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
    <title>Hello Google Earth!</title>
    <script src="http://www.google.com/jsapi"></script>
    <script>
google.load("earth", "1");

var ge = null;

function init() {
  google.earth.createInstance("map3d", initCallback, failureCallback);
}

function initCallback(object) {
  ge = object;
  ge.getWindow().setVisibility(true);
  function finished(object) {
    if (!object) {
      // wrap alerts in API callbacks and event handlers
      // in a setTimeout to prevent deadlock in some browsers
      setTimeout(function() {
        alert('Bad or null KML.');
      }, 0);
      return;
    }
    ge.getFeatures().appendChild(object);
  }
  // fetch the KML
  var url = 'http://maps.google.com/maps/ms?ie=UTF8&authuser=0&msa=0&output=kml&msid=201182140457027399871.0004bee0c7348bce68977';
  google.earth.fetchKml(ge, url, finished);

  document.getElementById('installed-plugin-version').innerHTML =
    ge.getPluginVersion().toString();
}

function failureCallback(errorCode) {
}
  </script>
  </head>
  <body onload='init()' id='body'>
    <center>
      <div>
        Hello, Earth!
      </div>
      <div id='map3d' align="left" style='border: 1px solid silver; height: 600px; width: 800px;'></div>
    </center>
  </body>
</html>
于 2012-05-02T00:52:20.007 に答える