0

チェックボックスを使用して簡単なマップを作成する必要があります。すべてのチェックボックスは、異なる KML レイヤーを表示する必要があります。これを構築する方法はわかりませんが、Google Code のサンプルで以下のコードを見つけました。

しかし、ローカルホスト (WAMP) 上のすべてのファイルをテストすると、チェックボックスをクリックしても KML レイヤーが表示されません。JavaScript の他のマーカーは正常に表示されていますが、KML のみが正常に表示されていません。

KML レイヤーを表示するコードは次のとおりです。フォルダではなく特定の URL からmarkers.kml を取得するようにコードを変更する方法を教えてください。他の Web サイトやサーバーから KML を取得する必要があります。

/**
 * Toggles KML layer visibility.
 */
function toggleKmlLayer() {
  if (!kmlLayer) {
    var kmlUrl = window.location.href.substring(
        0, 1 + window.location.href.lastIndexOf('/')) + 'markers.kml';
    kmlLayer = new google.maps.KmlLayer(kmlUrl, {
      preserveViewport: false,
      suppressInfoWindows: false
    });
  }
  showKmlLayer = !showKmlLayer;
  if (showKmlLayer) {
    kmlLayer.setMap(map);
  } else {
    kmlLayer.setMap(null);
  }
}
4

1 に答える 1

1

KML は公開されている URL にある必要があります。localhost は公開されていません (Google のサーバーは KML にアクセスできません)。

ドキュメントから

KML および GeoRSS レイヤー

Google Maps API は、地理情報を表示するために KML および GeoRSS データ形式をサポートしています。これらのデータ形式は、KmlLayer オブジェクトを使用してマップ上に表示されます。このオブジェクトのコンストラクターは、公開されているKML または GeoRSS ファイルの URL を取得します。

于 2013-06-01T20:20:01.783 に答える