Задача: создать карты для ряда городов России с обозначением на них гостиниц и достопримечательностей. Без лишнего функционала.
C помощью конструктора научился создавать подобный рабочий код:
window.onload = function () {
var map = new YMaps.Map(document.getElementById("YMapsID"));
map.setCenter(new YMaps.GeoPoint(39.7365,43.585368), 13, YMaps.MapType.MAP);
map.addControl(new YMaps.Zoom());
map.addControl(new YMaps.ToolBar());
map.addControl(new YMaps.TypeControl());
var s = new YMaps.Style();
s.iconStyle = new YMaps.IconStyle();
s.iconStyle.offset = new YMaps.Point(-8,-27);
s.iconStyle.href = "ссылка";
s.iconStyle.size = new YMaps.Point(27,26);
YMaps.Styles.add("wizard#lbmPoint", s);
var placemark1 = new YMaps.Placemark(new YMaps.GeoPoint(39.726008,43.576304), {style: "wizard#lbmPoint", balloonOptions: {maxWidth: 300}});
map.addOverlay(placemark1);
placemark1.setBalloonContent('МАРИНС');
placemark1.openBalloon();
var placemark2 = new YMaps.Placemark(new YMaps.GeoPoint(39.732018,43.57053), {style: "wizard#lbmPoint", balloonOptions: {maxWidth: 300}});
map.addOverlay(placemark2);
placemark2.setBalloonContent('ЖЕМЧУЖИНА');
var placemark3 = new YMaps.Placemark(new YMaps.GeoPoint(39.71301,43.589593), {style: "wizard#lbmPoint", balloonOptions: {maxWidth: 300}});
map.addOverlay(placemark3);
placemark3.setBalloonContent('ЗАПОЛЯРЬЕ');
var photo = new YMaps.Style();
photo.iconStyle.href = "http://api-maps.yandex.ru
photo.iconStyle.size = new YMaps.Point(27,26);
YMaps.Styles.add("wizard#lbmPoint", photo);
var placemark4 = new YMaps.Placemark(new YMaps.GeoPoint(39.722145,43.579478), {style: "defaultphotographerIcon", balloonOptions: {maxWidth: 300}});
map.addOverlay(placemark14);
placemark4.setBalloonContent('ХРАМ');
var placemark15 = new YMaps.Placemark(new YMaps.GeoPoint(39.719954,43.578348), {style: "defaultphotographerIcon", balloonOptions: {maxWidth: 300}});
map.addOverlay(placemark15);
placemark15.setBalloonContent('АКВАПАРК');
Проблемы и вопросы:
1. Данный код я дожен размещать внутри тэга <head>. Проблема в том, что в панеле управления сайта данный тэг не редактируется. Он находится в шаблоне сайта. Как можно обойти данную фичу, учитывая что страниц будет много?
2. Этот код я создал с помощью конструктора. Если мне нужно добавить новую метку, придется на чистой карте ставить метку и добавлять её координаты к уже существующим.
Можно ли подгружать отдельно созданную карту?
3. Для того, чтобы "подсветить" конкретную метку я исползую placemark.openBalloon(); , размещая его после необходимого объекта. Приходится для каждой гостиницы выставлять этот параметр.
Таким образом кол-во страниц с картами будет равно кол-ву меток(гостиниц).
Также при появлении новой гостиницы-метки, придется добавлять её координаты во все файлы.
Как можно оптимизировать этот момент?