Клуб API Карт

Как добавлять точки после вызова карты

Пост в архиве.
avadirect
24 июля 2009, 18:15

Использую стандартный код.

В body рисуется карта:

 

<div id="YMapsID" style="width:100%; height:300px"></div>


Мне технически удобнее наносить точки далее по коду, то есть после вызова слоя карты. Но простое

 

<script type="text/javascript">
map.addOverlay(new YMaps.Placemark(new YMaps.GeoPoint(37.63, 55.79)));
</script>


ничего не даёт. Помогите профану. Я так понимаю, что это вопрос, скорее не по Я.картам, а по Я.скрипт Видимо нужно как-то правильно обратиться к этому «map» Подскажите, плиз.


5 комментариев
А как у вас инициализируется карта?
т.е. как вы устанавливаете ей центр?
Дайте ссылку на страницу, пожалуйста.
Значит вот. Использую:






Так вот, если добавление точек происходит до слоя, в первой части, то всё ок.

А вот после слоя не работает ни gCollection.add, ни map.addOverlay

Не понял, где вы устанавливаете центр карты?

var bounds = map.getBounds(),    // == null карта без центра
pointLb = bounds.getLeftBottom(), //  вызов метода у null

Может банальная ошибка джаваскрипта и код дальше  не выполняется?  У вас firebug стоит?


По коду есть несколько комментариев:

var area = new YMaps.GeoCollectionBounds();
Зачем создавать переменную и в нее дублировать информацию?
Когда вам понадобятся границы вызовите метод getBounds у gCollection



gCollection.add(new YMaps.Placemark(new
YMaps.GeoPoint(32.148045,54.660391)));
map.addOverlay(new
YMaps.Placemark(new YMaps.GeoPoint(32.148045,54.660391)));

Вы создаете две метки, одну добавляете в коллекцию, одну на карту.
А нужно добавить метку в коллекцию и  отобразить ее на карте.
У меня похожая проблема. Добавление меток работает только в функции инициализации карты