不知道我做错了什么,我想要创建多个地图对象,使用基于编码latlng的自己的折线,我可以使用一个地图,但无法使用多个地图。
Message
答案 0 :(得分:0)
initMap
函数(document.getElementById
仅适用于ID,而非classNames。)myMap.setAttribute("style", "height: 200px; width: 400px;");
代码段
var encodedlatlngs = ["ah|qIe{ow@wHagSvuIwfF", "yy`rIg}uu@v}MpnBeK{cY`bKa{@", "ah|qIe{ow@wHagSvuIwfF"];
function initialize() {
var outerDiv = document.getElementById('myOuterDiv');
for (i = 0; i < encodedlatlngs.length; i++) {
var myMap = document.createElement('div');
myMap.id = 'map' + i;
myMap.setAttribute("style", "height: 200px; width: 400px;");
outerDiv.appendChild(myMap);
initMap(encodedlatlngs[i], myMap.id);
};
}
google.maps.event.addDomListener(window, "load", initialize);
function initMap(encoded_latlngs, mapID) {
map = new google.maps.Map(document.getElementById(mapID), {
zoom: 10,
center: {
lat: 55.570,
lng: 9.000
},
mapTypeId: google.maps.MapTypeId.TERRAIN
});
var decode2 = google.maps.geometry.encoding.decodePath(encoded_latlngs);
// Construct the polyline.
var polyline = new google.maps.Polyline({
path: decode2,
strokeColor: '#036eff',
strokeOpacity: 0.8,
strokeWeight: 3,
fillOpacity: 0.35
});
polyline.setMap(map);
infoWindow = new google.maps.InfoWindow;
}
html,
body {
height: 100%;
width: 100%;
margin: 0px;
padding: 0px;
}
<script src="https://maps.googleapis.com/maps/api/js?libraries=geometry"></script>
<div id="myOuterDiv"></div>