У меня есть этот код для вызова нескольких карт на одной странице, он вызывает все, используя массивы, чтобы сделать код максимально коротким.
из вопроса: несколько googleMaps на одной странице с непоследовательными идентификаторами < /а>
var coords = [
{lat: 53.647143, lng: -2.317803, zoom: 10},
{lat: 53.259065, lng: -4.417487, zoom: 7}
];
var markers = [];
var maps = [];
function initMap() {
for(var i = 0, length = coords.length; i < length; i++)
{
var point = coords[i];
var latlng = new google.maps.LatLng(point.lat, point.lng);
maps[i] = new google.maps.Map(document.getElementsByClassName('Gmap')[i], {
zoom: point.zoom,
center: latlng
});
markers[i] = new google.maps.Marker({
position: latlng,
map: maps[i]
});
}
}
Этот код запускается с использованием обратного вызова после загрузки скрипта карт Google и работает очень хорошо, но отображает только один маркер на карте.
Мне нужно добавить несколько маркеров на каждую карту, я думал о том, чтобы включить координаты маркеров в массив «координаты»:
var coords = [
{lat: 53.647143, lng: -2.317803, zoom: 10, marks: [
{mlat: 53.647143, mlng: -2.317803, mCont: "<p>aaa</p>"},
{mlat: 53.576524, mlng: -2.429149, mCont: "<p>bbb</p>"}
]},
{lat: 53.259065, lng: -4.417487, zoom: 7, marks: [
{mlat: 53.259065, mlng: -4.417487, mCont: "<p>ccc</p>"},
{mlat: 53.412303, mlng: -3.004262, mCont: "<p>ddd</p>"},
{mlat: 54.234574, mlng: -4.548636, mCont: "<p>eee</p>"}
]}
];
Но я не уверен, как внедрить в код, чтобы он работал, есть идеи?
работающий код: https://jsfiddle.net/wfmztu8v/9/