У меня есть страница, которая отображает список местоположений, выбранных пользователем, и для каждого местоположения она также показывает карту с маркером, указывающим на адрес.
Все отлично работает в Firefox и Opera, но в Safari, Chrome и т. Д. Элементы управления (масштабирование, перемещение, параметры карты, масштаб) отображаются только на одной или двух картах на странице (обычно толькопоследняя карта).Для остальных есть только изображение карты с маркером (и я также не могу переместить карту, перетаскивая ее, это как статичное изображение).
Я проверил, и это не проблема z-index (или другого типа css), элементы управления не скрыты.Элемент div, который должен содержать элементы управления, пуст.
Код для каждой карты выглядит примерно так:
var map_x = null;
if (GBrowserIsCompatible()) {
var mapObjx = document.getElementById("mapx");
if (mapObjx != "undefined" && mapObjx != null) {
map_x = new GMap2(document.getElementById("mapx"));
map_x.setCenter(new GLatLng(40.728444, -73.992117), 14, G_NORMAL_MAP);
map_x.addControl(new GLargeMapControl());
map_x.addControl(new GMapTypeControl());
var point = new GLatLng(40.7284440,-73.9921169);
var marker = createMarker(point,"","<div id=\"gmapmarker\"><\/div>", 0,"");
map_x.addOverlay(marker);
}
} else {
alert("Sorry, the Google Maps API is not compatible with this browser.");
}
, где x (в map_x, mapObjx и mapx) является уникальнымномер для каждой карты.
Я пробовал много вещей, кажется, что небольшая задержка в коде перед добавлением каждой новой карты увеличивает количество рабочих карт, но никогда не превышает 3 или 4 (Кроме того, это не совсем решение, так как на странице может быть много карт, и это приведет к слишком медленной загрузке).
Как я уже сказал, он работает только в Firefox и Opera.У кого-нибудь есть идеи, которые я мог бы попробовать?