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]
コメントを追加