Google Maps API + Google Maps Engine / My Maps

サンドマン

Google Maps Engineを使用して、レイヤーや図形を含むカスタマイズされた地図をWebページに埋め込みましたが、廃止される予定です。代わりに、軽量でありながらニーズに合っているように見えるGoogle MyMapsがあります。

さて、私の質問です。Google Maps APIを使用してウェブページに地図を表示しています。また、マイマップの地図の埋め込みコードもあり、それらを組み合わせたいと思います。そこで、Google Maps APIを読み込んで、好きな領域を表示し、マーカーなどを追加して、その上(またはその下)にマイマップの特定の地図のレイヤーと図形を表示したいと思います。

私が言ったように、私はそれ自体で機能する埋め込みコードを持っており、mapIdは「abcdefgh.abcdefgh」の形式です。

現在、Google Maps APIを見ると、特定のMaps EngineレイヤーをIDで読み込む(非推奨の)「MapsEngineLayer」関数がありますが、見つけたマイマップで特定のレイヤーIDを見つける方法はありません。 1つのmapIDのすべてのレイヤーが必要ですが、その関数にはlayerIdまたはLayerKeyが必要です。

では、「マイマップ」の地図をGoogle Maps APIの通常の表示に含める方法はありますか?

モール博士

KMLなどの地図をダウンロードすることもできます。ダウンロードURLは次のようなものです。

https://www.google.com/maps/d/kml?mid=themymaps.mapid

文書化されていませんが、現在、このURLを使用してKmlLayerを作成すると機能します(ダウンロード手順を変更しない限り機能するはずです)。

例(元の地図

function initialize() {

  var map = new google.maps.Map(document.getElementById('map-canvas'), {
      zoom: 0,
      center: new google.maps.LatLng(0, 0)
    }),

    myMapsId = 'z4jtZiEBVczE.kp_M0KHEIung';
  new google.maps
    .KmlLayer({
      map: map,
      url: 'https://www.google.com/maps/d/kml?mid=' + myMapsId
    });
}

google.maps.event.addDomListener(window, 'load', initialize);
  html,
  body,
  #map-canvas {
    height: 100%;
    margin: 0px;
    padding: 0px
  }
<script src="https://maps.googleapis.com/maps/api/js?v=3"></script>
<div id="map-canvas"></div>

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事