Клуб API Карт

На одной странице несколько карт, такое возможно?

DVKINDEEV
8 декабря 2009, 14:36

Пытаюсь разместить две карты на странице, но отображается только одна.
Или апи яндекса не позволяет это сделать , либо я что то упустил, т.к. я делаю идентификаторы каждой карты абсолютно уникальными

Пример:

Карта 1
<script type="text/javascript">
//<![CDATA['
var mapPlgPM3, geoResultPlgPM3;
window.onload = function getYandexMapPlgPM3() {
mapPlgPM3 = new YMaps.Map(document.getEle
mentById("YMapsIDPlgPM3"));
mapPlgPM3.setCenter(new YMaps.GeoPoint( 39.870592, 57.619879), 2);
mapPlgPM3.enableDblClickZoom();
mapPlgPM3.enableScrollZoom();
mapPlgPM3.addControl(new YMaps.Zoom());
mapPlgPM3.addControl(new YMaps.TypeControl());
mapPlgPM3.addControl(new YMaps.MiniMap());
mapPlgPM3.addControl(new YMaps.ToolBar());
}
//]]>
</script>

Карта 2

<script type="text/javascript">
//<![CDATA['
 var mapPlgPM1, geoResultPlgPM1;
window.onload = function getYandexMapPlgPM1() {
mapPlgPM1 = new YMaps.Map(document.getEle

mentById("YMapsIDPlgPM1"));
mapPlgPM1.setCenter(new YMaps.GeoPoint( 38.096006, 55.285312), 2);
mapPlgPM1.enableDblClickZoom();
mapPlgPM1.enableScrollZoom();
mapPlgPM1.addControl(new YMaps.Zoom());
mapPlgPM1.addControl(new YMaps.TypeControl());
mapPlgPM1.addControl(new YMaps.MiniMap());
mapPlgPM1.addControl(new YMaps.ToolBar());
}
//]]></script>


Подскажите что я пропустил или может не допонял
2 комментария
Подписаться на комментарии к посту
Да, это возмжно. Можно создать неограниченное количество карт на одной странице.

Вы создали два обработчика события window.onload. Второй обработчик переписал первый, в итоге всегда будет создаваться только вторая карта.

Для того, чтобы этого избежать. Напишите код создания карт в одном обработчике.
window.onload = function () {
    // Первая карта
    var map = new YMaps.Map(document.getElementById("YMapsID"));
    map.setCenter(new YMap.GeoPoint(35, 55), 7);

    // Вторая карта
    var map2 = new YMaps.Map(document.getElementById("YMapsID2"));
    map2.setCenter(new YMap.GeoPoint(35, 55), 7);
}
Спасибо, теперь подумаю как мне изменить это на уровне php