INT 21h

Hi, I am Vladimir Smagin, SysAdmin, DevOps and barely good guy. Telegram Email / GIT / Микроблог / GPG

Карта автоканалов в России: как я это сделал

№ 6842 В разделе "Программирование" от December 4th, 2014,

Карта автоканалов это один из последних на данный момент проектов. Все сделано уже на ставшим легендарным CodeIgniter 2 с применением API Яндекс.Карт.

Новая версия API Яндекс карт позволяет использовать их сервис без регистрации, токенов и смс. Просто подключаете библиотеку, формируете массив точек и кормите его функции отрисовки.

<script src="http://api-maps.yandex.ru/2.1/?lang=ru_RU" type="text/javascript"></script>

Теперь необходимо написать еще один скрипт, рисующий карту. Нужно начать с создания объекта карты, а потом заставить этот объект размещать наши точки на карте. Итак, пишем функцию отрисовки:

<script type="text/javascript">
ymaps.ready(init);            

function init () {
    myMap = new ymaps.Map('map', {
        center: [59.7208,78.629494],
        zoom: 5,
        controls: ['zoomControl']
    });

Теперь в этой же функции будем создавать объект “точка” и передавать его для отрисовки объекту “карта”. Это и есть тот самый цикл, который рисует точки из вашей БД.

<? //php код получающий из БД массив точек и формирующий javascript код, добавляющий точки на карту
// $cid - ID точки в базе данных чтобы создать уникальное имя
// $cy, $cx - широта и долгота
// $cname - название точки (у меня это название города)
// $kanali_str - тут хранится описание точки (у меня это список каналов в городе, в HTML виде)
// после создания объекта RadioCity$cid он передается в geoObjects для добавления на карту
foreach ($cities as $city) {
    ....
    echo "RadioCity$cid = new ymaps.Placemark([$cy, $cx], {balloonContentHeader: '$cname',balloonContentBody: '$kanali_str'});
    myMap.geoObjects.add(RadioCity$cid);";
} //конец php кода
?>
} 
</script>

После этого можно добавить div с картой в код страницы:

<div id="map"></div>

Также можно менять стили точек и даже прикреплять иконки и прочие штуки и все это также описано в руководстве к API 🙂

Автоканалы России на карте 1 Автоканалы России на карте 2

Нет комментариев »

Leave a Reply

Your email address will not be published. Required fields are marked *

*

Микроблог перейти

# 2019-02-14 13:07:54

есть у нас один деплойный плейбук сразу кучи проектов на кучу наших серверов и клиентов. хз что за демоны в голове сношались у человека, который его придумал.

# 2019-02-14 08:46:15

logstash не получится балансировать в кубере, filebeat держит соединение с логсташем постоянно, не разрывая соединение из-за чего будет работать только 1 под из всех поднятых.

# 2019-02-07 21:30:46

Эмуляторы RetroArch retroarch.com/index.php?page=l и Lakka www.lakka.tv/


© Vladimir Smagin, 2005-2019. Копирование материалов без разрешения запрещено. GPG DA4CD0F5E222EA727D6A40C413BCE12E5618F071
Яндекс.Метрика

Fortune cookie: Sexual enlightenment is justified insofar as girls cannot learn too soon how children do not come into the world. -- Karl Kraus