Theme NexT works best with JavaScript enabled

ShunNien's Blog

不積跬步,無以致千里;不積小流,無以成江海。

0%

Google Map Api 使用自訂底圖

google map api 使用自訂底圖

在 Google map js api 中,不使用其預設底圖,改採用國土測繪中心的通用電子地圖

參考 Google 官方的 Map Types 說明文件,提到可以使用 setMapTypeId 此方法來指定底圖,記得更換以下的 google api key ,可以參考此篇

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
<!DOCTYPE html>
<html>

<head>
<title>Overlay map types</title>
<style>
html,
body {
height: 100%;
margin: 0;
padding: 0;
}

#map {
height: 100%;
}
</style>
</head>

<body>
<div id="map"></div>
<script>
function initMap() {
const wmsMapType = new google.maps.ImageMapType({
maxZoom: 18,
minZoom: 7,
name: "test",
tileSize: new google.maps.Size(256, 256),
isPng: true,
getTileUrl: function (coord, zoom) {
return `http://wmts.nlsc.gov.tw/wmts/EMAP/default/GoogleMapsCompatible/${zoom}/${coord.y}/${coord.x}`;
}
});
const map = new google.maps.Map(document.getElementById('map'), {
zoom: 12,
center: new google.maps.LatLng(25.04, 121.505)
});
map.mapTypes.set('test', wmsMapType);
map.setMapTypeId('test');
}
</script>
<script async defer src="https://maps.googleapis.com/maps/api/js?key=AIzaSyCmg6WKhPyvaIM7yJI-x3LtXkgvWJzjiZE&callback=initMap"></script>
</body>

</html>

參考資料

歡迎關注我的其它發布渠道