Google Maps API + Google Maps Engine /我的地图

San*_*man 3 javascript google-maps-api-3

我已经使用谷歌地图引擎将带有图层和形状的自定义地图嵌入到我的网页中,但它将停止使用,而替代品是谷歌我的地图,这是轻量级的,但似乎满足我的需求.

现在问我的问题.我正在使用Google Maps API在我的网页上显示地图,我还有来自"我的地图"的地图的嵌入代码,我想将它们组合在一起.因此,我想加载Google Maps API并显示我喜欢的任何区域,添加标记和所有内容,然后在其上(或在其下)显示"我的地图"中特定地图的图层和形状.

就像我说的,我有自己的嵌入代码,mapId格式为"abcdefgh.abcdefgh".

现在,查看Google Maps API,有一个(已弃用的)"MapsEngineLayer"功能可按ID加载特定的地图引擎图层,但无法在我找到的"我的地图"中找到特定的图层ID,另外还有我想要一个mapID的所有图层,但该函数需要layerId或LayerKey.

那么,有没有办法将"我的地图"中的地图包含在Google Maps API的常规显示中?

Dr.*_*lle 13

您也可以下载这样的地图作为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);
Run Code Online (Sandbox Code Playgroud)
  html,
  body,
  #map-canvas {
    height: 100%;
    margin: 0px;
    padding: 0px
  }
Run Code Online (Sandbox Code Playgroud)
<script src="https://maps.googleapis.com/maps/api/js?v=3"></script>
<div id="map-canvas"></div>
Run Code Online (Sandbox Code Playgroud)

  • https://www.google.com/maps/d/kml?mid=themymaps.mapid 将下载为 KMZ。要仅下载 KML,请使用 https://www.google.com/maps/d/kml?mid=themymaps.mapid&amp;forcekml=1 (2认同)