На своём блоге я писал заметку «Яндекс.Карта на Вашем сайте с возможностью добавления меток пользователями и вывод по категориям. Версия для API Яндекс.Карт 2.х».
Читатели моего блога спрашивали, как добавить новую категорию?
В этой заметке я расскажу о том, как можно это легко сделать.
Для того чтобы что-то выводить, нужно это с начала добавить.
Поэтому начнем с добавления меток в новую категорию «Театры».
Редактируем файл вывода карты index-4.html.
Находим там событие клик левой кнопкой мыши на карте
myMap.events.add('click', function (e) { |
И после строки
<option data-path="http://api.yandex.ru/maps/doc/jsapi/2.x/ref/images/styles/restaurant.png" value="twirl#restaurantIcon">Ресторан</option>\ |
добавляем новую для театров:
<option data-path="http://api.yandex.ru/maps/doc/jsapi/2.x/ref/images/styles/theater.png" value="twirl#theaterIcon">Театр</option>\ |
Поясню что здесь.
В параметр data-path мы записываем полный путь к файлу с изображением стандартной метки для театров.
А значение value — ключ данного стиля в API Яндекс.Карт 2.х.
Другие стандартные иконки и ключи к ним, можно найти здесь
Сохраняем изменение.
Теперь редактируем файл addmetki-cat.php — он записывает данные о метке в базу.
В нем находим цикл switch — case и добавляем новые строчки, после строки
break; |
код:
case 'twirl#theaterIcon': $type = 'theater'; break; |
Сохраняем файл.
Теперь отредактируем файл вывода данных из базы — vivodpointsmap-cat.php
Находим в нем также цикл switch — case и добавляем новые строчки, после строки
break; |
код:
case 'theater': $stylePlacemark = 'twirl#theaterIcon'; break; |
Сохраняем файл.
Нам еще осталось добавить ссылку на вызов функции show_c для новой категории в файле index-4.html.
Открываем его для редактирования, находим строчку
<li><a href="#" id="cafe" onclick="show_c('cafe'); return false;">Кафе</a></li> |
в конце файла и дописываем после нее новую
<li><a href="#" id="cafe" onclick="show_c('theater'); return false;">Театр</a></li> |
Вот и всё, смотрим что у нас получилось.