如何在谷歌地图中用多边形标记每个区域?

时间:2016-10-05 13:46:20

标签: google-maps google-maps-api-3

我正在尝试使用谷歌地图或任何其他服务创建地图。

在这张地图中,我想绘制城市内的每个区域及其详细信息。

这类似于以下link

我如何使用Google地图API创建它?或者有没有像我在谷歌地图的mymaps选项中所做的那样?

请建议我。

enter image description here

1 个答案:

答案 0 :(得分:1)

您可以使用KmlLayer在Google Maps Javascript API v3地图上显示MyMap中的多边形(等)(您需要一个API密钥)。

通过从MyMap导出KML("下载KML")获取网址,检查以下两个选项:

  • 使用网络链接KML(仅在线使用)保持数据最新。
  • 导出到.KML文件(有关完整图标支持,请使用.KMZ)。

然后在结果文件中使用<href>的内容(并删除HTML实体编码):

<href>http://www.google.com/maps/d/kml?forcekml=1&amp;mid=1yrtH76JreHzs8bU1-XOoVsEeRS0</href>

代码段

&#13;
&#13;
function initialize() {
  var map = new google.maps.Map(
    document.getElementById("map_canvas"), {
      mapTypeId: google.maps.MapTypeId.ROADMAP
    });
  var kmlLayer = new google.maps.KmlLayer({
    url: "http://www.google.com/maps/d/kml?forcekml=1&mid=1yrtH76JreHzs8bU1-XOoVsEeRS0",
    map: map
  });
}
google.maps.event.addDomListener(window, "load", initialize);
&#13;
html,
body,
#map_canvas {
  height: 100%;
  width: 100%;
  margin: 0px;
  padding: 0px
}
&#13;
<script src="https://maps.googleapis.com/maps/api/js"></script>
<div id="map_canvas"></div>
&#13;
&#13;
&#13;