https://github.com/pozitronik/ymaps
Фреймворк, позволяющий создавать Яндекс.Карты на PHP.
https://github.com/pozitronik/ymaps
Last synced: 7 months ago
JSON representation
Фреймворк, позволяющий создавать Яндекс.Карты на PHP.
- Host: GitHub
- URL: https://github.com/pozitronik/ymaps
- Owner: pozitronik
- Created: 2012-10-01T20:03:56.000Z (over 12 years ago)
- Default Branch: master
- Last Pushed: 2012-11-21T08:59:45.000Z (over 12 years ago)
- Last Synced: 2023-03-30T09:37:02.206Z (about 2 years ago)
- Language: JavaScript
- Homepage:
- Size: 146 KB
- Stars: 5
- Watchers: 1
- Forks: 3
- Open Issues: 0
-
Metadata Files:
- Readme: readme.html
Awesome Lists containing this project
README
body {
font-family: sans-serif;
font-size: large;
}pre {
margin-left: 1em;
padding-left: 1em;
border-left: 2px solid silver;
overflow: auto;
background: #F4F4FF;
}ul {
list-style: disc; outside;
margin-top: 10px;
font-family: monospace;
}ul ul {
background: #eee;
font-<b>size</b>: medium;
}ul ul ul {
background: #eaeaea;
}ul ul ul ul {
background: #eee;
}ul ul ul ul ul{
background: #dadada;
}ul ul ul ul ul li{
padding-left: 10px;
}Документация: фреймворк PHP Yandex Maps
Что это?
PHP Yandex Maps (PYM) - фреймворк, позволяющий создавать карты на PHP. В качестве движка картографии используются Яндекс.Карты, однако с PYM работать проще и быстрее, чем с нативным JavaScript-API Яндекс.Карт.
PYM не является имплементацией API Яндекс.Карт, он лишь генерирует код этого API, который, как обычно, выполняется в браузере пользователя.
Работа с PYM не требует знаний JavaScript или API Яндекс.Карт. Однако, во избежание расхождений, названия функций, методов, переменных и констант аналогичны приведённым в Yandex Maps API 2.0, так что документация API может служить дополнительной справкой (по крайней мере, до тех пор, пока у PYM не появится собственная документация соответствующего уровня).
Как PYM работает?
PYM реализует несколько групп объектов, соответствующих объектам Яндекс.Карт (например таких, как "карта", "элемент управления", "всплывающая подсказка" и т.п.), и свойств этих объектов. Эти объекты и их свойства транслируются в JavaScript-код, который выполняется браузером.
Описание всех объектов, их свойств и методов см. в разделе Справочник.Подключение PYM к вашему проекту
Укажите путь к файлу ymaps.php в директиве require_once или include_once, например:require_once 'ymaps.php';Примеры
Создание простой карты:
<!-- Создадим блок, в котором будет отображаться карта -->
<div id='map' style='width:100%; height:600px;'></div>
<?php
$map = new YMap('map');//Создание объекта карты в блоке map.
$map->create();//Создание карты. Поскольку параметры не указаны, центр карты будет находиться по местоположению пользователя (определяется по IP-адресу).
$map->draw();//Вставка кода карты.
?>Создание карты с элементами управления и изменёнными поведениями:
<!-- Создадим блок, в котором будет отображаться карта -->
<div id='map' style='width:100%; height:600px;'></div>
<?php
$map = new YMap('map',array("init"=>1));//Дополнительно укажем, что создавать карту нужно только после окончательной загрузки страницы.
$map->create(55.75154541282902,37.61556470101905,15,map_type_hybrid);//Укажем координаты центра карты, уровень приближения и тип. Тип может быть задан как строкой, так и одной из констант map_type_*
//Добавим несколько элементов управления.
$map->controls->zoomControl->enabled=TRUE;//Включим элемент управления "ползунок масштаба".
$map->controls->zoomControl->options->position=array('top'=>5, 'left'=>5);//Изменим его местоположение на левый верхний угол.
//Добавим элемент управления "миникарта".
$map->controls->miniMap->state->type=map_type_publicmaphybrid;//Укажем тип миникарты.
$map->controls->miniMap->state->expanded=FALSE;//Укажем, что миникарта после создания должна быть свёрнута.
$map->controls->miniMap->options->position=array('top'=>5, 'right'=>5);//Изменим местоположение миникарты на верхний правый угол.
$map->controls->miniMap->options->size=array(200,160);//Зададим размер миникарты.
$map->controls->miniMap->options->zoomOffset=3;//Зададим разность уровней масштабирования между основной картой и миникартой.
$map->controls->miniMap->enable();//Включим карту. Функции enable() и disable() можно использовать для любых элементов управления вместо enabled=TRUE и enabled=FALSE соответственно.
//Изменим некоторые поведения карты
$map->behaviors->dblClickZoom->enabled=FALSE;//Выключим зумирование по двойному щелчку.
$map->behaviors->scrollZoom->enable();//Включим зумирование колёсиком мыши. Функции enable() и disable() можно использовать для любых поведений управления вместо enabled=TRUE и enabled=FALSE соответственно.
$map->behaviors->scrollZoom->options->speed=1;//Установим скорость зумирования.
$map->draw();
?>Получение кода карты вместо его вывода:
<?php
$map = new YMap('map',array("load"=>2,"init"=>2));//В параметре load указываем, что не нужно загружать код API Яндекс.Карт, в параметре init указываем, что сгенерированный код выполнять не нужно.
$map->create(55.75154541282902,37.61556470101905,15,map_type_hybrid);//Укажем координаты центра карты, уровень приближения и тип. Тип может быть задан как строкой, так и одной из констант map_type_*
$map_code=$map->draw(true);//Возвращаем сгенерированный код карты в переменную $map_code. В случае, если при создании карты был указан параметр init=2, то функция в любом случае будет возвращать код, вместо того, чтобы выполнять его вставку.
print "<pre>$map_code</pre>";//Выведем сгенерированный код на страницу.
?>Работа с балуном:
<!-- Создадим блок, в котором будет отображаться карта -->
<div id='map' style='width:100%; height:600px;'></div>
<?php
$map->create(55.75154541282902,37.61556470101905,15,map_type_hybrid);//Укажем координаты центра карты, уровень приближения и тип. Тип может быть задан как строкой, так и одной из констант map_type_*
//Добавим несколько элементов управления.
$map->controls->zoomControl->enabled=TRUE;//Включим элемент управления "ползунок масштаба".
$map->controls->zoomControl->options->position=array('top'=>5, 'left'=>5);//Изменим его местоположение на левый верхний угол.
$balloon=new Balloon();//Создадим новый балун.
//Зададим содержимое балуна
$balloon->SetData("<b>Госуда́рственный Кремлёвский дворе́ц</b> (до 1992 года — <b>Кремлёвский дворец съездов</b>) построен в 1961 году под руководством архитектора Михаила Васильевича Посохина...",
"Дворец съездов",
"<a href='http://ru.wikipedia.org/wiki/Дворец_съездов' style='float:right'>Читать дальше</a>");
$balloon->options->shadow=FALSE;//Выключим тень от балуна
$map->balloon($balloon);//Связываем балун и карту
$map->draw();//Вставка кода карты.
?>Работа с отметками:
<!-- Создадим блок, в котором будет отображаться карта -->
<div id='map' style='width:100%; height:600px;'></div>
<?php
$map = new YMap('map');//В параметре load указываем, что не нужно загружать код API Яндекс.Карт, в параметре init указываем, что сгенерированный код выполнять не нужно.
$map->create(55.75,37.61,15,map_type_hybrid);//Укажем координаты центра карты, уровень приближения и тип. Тип может быть задан как строкой, так и одной из констант map_type_*
//Добавим несколько элементов управления.
$map->controls->zoomControl->enabled=TRUE;//Включим элемент управления "ползунок масштаба".
$map->controls->zoomControl->options->position=array('top'=>5, 'left'=>5);//Изменим его местоположение на левый верхний угол.
$placemark_centered=new Placemark();//Создадим новый маркер без указания координат
$hint=new Hint('Этот маркер <b>всегда</b> находится в центре карты');//Создадим новый хинт
$hint->options->hideTimeOut=1;//Укажем, что хинт должен исчезать без задержки
$placemark_centered->set_hint($hint);//Добавим хинт к маркеру
$placemark_centered->options->preset='twirl#darkblueStretchyIcon';//Установим для хинта один из готовых презетов
$placemark_centered->feature->properties->iconContent='Центр';//Установленный презет допускает текстовое содержимое внутри маркера, установим его
$map->placemark($placemark_centered);//Добавим маркер на карту
$placemark=new Placemark(55.75154541282902,37.61556470101905);//Создадим новый маркер с указанием координат
$placemark->options->iconImageHref='marker.png';//Изменим иконку маркера.
$balloon=new Balloon();//Создадим новый балун.
//Зададим содержимое балуна
$balloon->SetData("<b>Госуда́рственный Кремлёвский дворе́ц</b> (до 1992 года — <b>Кремлёвский дворец съездов</b>) построен в 1961 году под руководством архитектора Михаила Васильевича Посохина...",
"Дворец съездов",
"<a href='http://ru.wikipedia.org/wiki/Дворец_съездов' style='float:right'>Читать дальше</a>");
$placemark->set_balloon($balloon);//Добавим балун к маркеру
$placemark->feature->properties->hintContent="Щелчок для подсказки";//Можно задать содержимое всплывающей подсказки без создания объекта Hint
$map->placemark($placemark);//Добавим маркер на карту
$map->draw();//Вставка кода карты.
?>Справочник
Объекты
Карта
Карта - базовый объект, реализующий непосредственно карту. Объект реализован классом YMap.
При создании объекта ему передаются следующие параметры:
-
string $div_id: id блочного элемента, в котором будет создана карта (обязательный параметр). -
array $options: массив опций создания карты:
-
integer load: 0 (default) - подгрузка JS-кода Яндекс.Карт при создании объекта, 1 - при вызове карты, 2 - не загружать код (он может быть уже загружен). -
integer init: 0 (default) - выполнение кода после подгрузки JS-кода Яндекс.Карт, 1 - после загрузки страницы, 2 - не выполнять код.
Параметр может быть опущен частично или полностью.
-
Пример:
$map = new YMap('map',array("init"=>0,"load"=>1));
Свойства
- behaviors: группа свойств, отвечающих за поведение карты.
- dblClickZoom: управляет поведением "масштабирование карты двойным щелчком кнопки мыши".
Параметры:
-
bool enabled: TRUE - включить поведение, FALSE (default) - выключить поведение. - options: параметры поведения:
-
bool centering: TRUE (default) - при двойном щелчке мышью карта масштабируется так, что точка под курсором мыши становится новым центром карты, FALSE - точка под курсором мыши сохраняет свое положение при масштабировании двойным щелчком. -
integer duration: время анимации масштабирования двойным щелком кнопки мыши (0 - анимации нет). Значение по умолчанию: 200.
-
-
- drag: управляет поведением "перетаскивание карты с помощью мыши либо одиночного касания".
Параметры:
-
bool enabled: TRUE (default) - включить поведение, FALSE - выключить поведение. - options: параметры поведения:
-
string actionCursor: курсор для поведения при перетаскивании карты. Значение по умолчанию: 'grabbing'. -
string cursor: курсор для поведения behavior.Drag при наведении на карту. Значение по умолчанию: 'grab'. -
bool inertia: включает кинетическую инерцию движения в конце перетаскивания. Значение по умолчанию: true. -
integer inertiaDuration: продолжительность инерции в мс. Значение по умолчанию: 400. -
integer tremor: минимальное смещение курсора в пикселях после нажатия кнопки мыши, после которого начинает двигаться карта. Значение по умолчанию: 2.
-
-
- leftMouseButtonMagnifier: управляет поведением "масштабирование карты при выделении области левой кнопкой мыши".
Параметры:
-
bool enabled: TRUE - включить поведение, FALSE (default) - выключить поведение. - options: параметры поведения:
-
string actionCursor: курсор во время выбора области для увеличения при включенном поведении. Значение по умолчанию: 'crosshair'. -
string cursor: курсор при включенном поведении. Значение по умолчанию: 'zoom'. -
integer duration: продолжительность анимации увеличения области при использовании поведения, мс. Значение по умолчанию: 300.
-
-
- multiTouch: управляет поведением "масштабирование карты мультисенсорным касанием".
Параметры:
-
bool enabled: TRUE - включить поведение, FALSE (default) - выключить поведение. - options: параметры поведения:
-
integer tremor: минимальное движение по экрану устройства (в пикселях), при котором сработает поведение. Значение по умолчанию: 2.
-
-
- rightMouseButtonMagnifier: управляет поведением "масштабирование карты при выделении области правой кнопкой мыши".
Параметры:
-
bool enabled: TRUE - включить поведение, FALSE (default) - выключить поведение. - options: параметры поведения:
-
string actionCursor: курсор во время выбора области для увеличения при включенном поведении. Значение по умолчанию: 'crosshair'. -
integer duration: продолжительность анимации при выделении области, мс. Значение по умолчанию: 300.
-
-
- routeEditor: управляет поведением "редактор маршрутов".
Параметры:
-
bool enabled: TRUE - включить поведение, FALSE (default) - выключить поведение.
-
- ruler: управляет поведением "линейка". Позволяет отмечать на карте точки и отображать расстояния между ними.
Параметры:
-
bool enabled: TRUE - включить поведение, FALSE (default) - выключить поведение.
-
- scrollZoom: управляет поведением "масштабирование карты колесом мыши".
Параметры:
-
bool enabled: TRUE - включить поведение, FALSE (default) - выключить поведение. - options: параметры поведения:
-
integer maximumDelta: максимальное возможное изменение, на которое можно изменить зум карты при одном событии скролла (непрерывным вращением колеса мыши). При достижении этого лимита карта перерисовывается (показываются тайлы для достигнутого уровня масштаба). Значение по умолчанию: 5. -
integer speed: скорость увеличения/уменьшения масштаба карты при включенном поведении, уровней масштаба в секунду. Значение по умолчанию: 5.
-
-
- dblClickZoom: управляет поведением "масштабирование карты двойным щелчком кнопки мыши".
- controls: свойства элементов управления картой.
- mapTools: тулбар со стандартными кнопками.
Параметры:
-
bool enabled: TRUE - показать элемент управления, FALSE (default) - не показывать элемент управления. - params:
-
array items: кнопки которые будут добавлены в тулбар. Можно использовать следующие ключи:
- "default" - короткий синоним для стандартного набора кнопок;
- "drag" - кнопка "Навигация";
- "magnifier" - кнопка "Выделение";
- "ruler" - кнопка "Линейка".
-
- options:
-
array position: Положение элемента управления над картой. Задается в виде ассоциативного массива со следующими ключами:
- top - отступ от верхнего края контейнера карты в пикселах;
- right - отступ от правого края контейнера карты в пикселах;
- bottom - отступ от нижнего края контейнера карты в пикселах;
- left - отступ от левого края контейнера карты в пикселах.
Если при этом заданы одновременно и top, и bottom, то значение bottom игнорируется. Аналогично, если заданы одновременно и left, и right, то значение right игнорируется. Значение по умолчанию: array ("top"=> 5, "right"=> 5).
-
-
- miniMap: элемент управления "обзорная карта".
Параметры:
-
bool enabled: TRUE - показать элемент управления, FALSE (default) - не показывать элемент управления. - state:
-
bool expanded: true - обзорная карта развернута, false - свернута. Значение по умолчанию: true -
array type: Тип карты. Список доступных типов карты:
- 'yandex#map' - тип карты "схема";
- 'yandex#satellite' - тип карты "спутник";
- 'yandex#hybrid' - тип карты "гибрид";
- 'yandex#publicMap' - тип карты "народная карта";
- 'yandex#publicMapHybrid' - тип карты "народный гибрид".
Ключи 'yandex#publicMap' и 'yandex#publicMapHybrid' доступны только для России и Украины.
Значение по умолчанию: 'yandex#map'
-
- options:
-
array position: положение обзорной карты относительно контейнера основной карты. Значение по умолчанию: array ("left"=> 5, "bottom"=> 5) -
array size: размеры обзорной карты. Значение по умолчанию: array (128, 90). -
integer zoomOffset: разность уровней масштабирования обзорной карты и основной карты. Значение может быть отрицательным. Значение по умолчанию: 5.
-
-
- routeEditor: элемент управления "Редактор маршрутов".
Параметры:
-
bool enabled: TRUE - показать элемент управления, FALSE (default) - не показывать элемент управления. - options:
-
array position: Положение элемента управления над картой. Задается в виде ассоциативного массива со следующими ключами:
- top - отступ от верхнего края контейнера карты в пикселах;
- right - отступ от правого края контейнера карты в пикселах;
- bottom - отступ от нижнего края контейнера карты в пикселах;
- left - отступ от левого края контейнера карты в пикселах.
Если при этом заданы одновременно и top, и bottom, то значение bottom игнорируется. Аналогично, если заданы одновременно и left, и right, то значение right игнорируется. Значение по умолчанию: array ("top"=> 5, "left"=> 98).
-
-
- scaleLine: элемент управления "Масштабная линейка".
Параметры:
-
bool enabled: TRUE - показать элемент управления, FALSE (default) - не показывать элемент управления. - options:
-
array position: Положение элемента управления над картой. Задается в виде ассоциативного массива со следующими ключами:
- top - отступ от верхнего края контейнера карты в пикселах;
- right - отступ от правого края контейнера карты в пикселах;
- bottom - отступ от нижнего края контейнера карты в пикселах;
- left - отступ от левого края контейнера карты в пикселах.
Если при этом заданы одновременно и top, и bottom, то значение bottom игнорируется. Аналогично, если заданы одновременно и left, и right, то значение right игнорируется. Значение по умолчанию: array ("right"=> 7, "bottom"=> 50).
-
-
- searchControl: элемент управления "Поиск по карте".
Параметры:
-
bool enabled: TRUE - показать элемент управления, FALSE (default) - не показывать элемент управления. - options:
-
array boundedBy: прямоугольная область на карте, где предположительно находится искомый объект. При ранжировании объекты, находящиеся внутри указанной области, будут получать больший приоритет. -
string kind: вид топонима (только для обратного геокодирования). Список возможных значений:
- house - дом;
- street - улица;
- metro - станция метро;
- district - район города;
- locality - населенный пункт (город/поселок/деревня/село/...).
Значение по умолчанию: 'house'. -
bool noCentering: false - автоматически располагать центр карты так, чтобы объект был виден целиком. true - не изменять центр карты при показе найденного объекта. Значение по умолчанию: false. -
bool noPlacemark: false - автоматически добавлять в центр найденного объекта метку с открытым балуном, true - не добавлять. Если указать noCentering = true и noPlacemark = true, то при щелчке по результату поиска никаких видимых изменений на карте не произойдет. Значение по умолчанию: false. -
bool noPopup: true - не показывать выпадающий список результатов, false - показывать. Значение по умолчанию: false. -
array position: Положение элемента управления над картой. Задается в виде ассоциативного массива со следующими ключами:
- top - отступ от верхнего края контейнера карты в пикселах;
- right - отступ от правого края контейнера карты в пикселах;
- bottom - отступ от нижнего края контейнера карты в пикселах;
- left - отступ от левого края контейнера карты в пикселах.
Если при этом заданы одновременно и top, и bottom, то значение bottom игнорируется. Аналогично, если заданы одновременно и left, и right, то значение right игнорируется. Значение по умолчанию: array ("top"=> 5, "left"=> 104).
-
string provider: провайдер геокодирования. Можно воспользоваться одним из стандартных провайдеров:
- 'yandex#map' - поиск по карте;
- 'yandex#publicMap'; - поиск по народной карте.
Значение по умолчанию: 'yandex#map'
-
integer resultsPerPage: количество результатов поиска на странице. Максимальное значение - 20. Значение по умолчанию: 3. -
bool strictBounds: искать только внутри области, заданной опцией boundedBy. Объекты вне указанной области попадать в выдачу не будут. -
bool useMapBounds: флаг, позволяющий учитывать при поиске границы видимой области карты. При значении true, рассчитанная область видимости имеет больший приоритет, чем заданная через boundedBy. Значение по умолчанию: false. -
integer width: ширина элемента (в пикселах). Минимальное значение: 200. Значение по умолчанию: 240
-
-
- smallZoomControl: элемент управления "Простой элемент управления масштабом карты". Позволяет уменьшать или увеличивать коэффициент масштабирования карты на 1.
Параметры:
-
bool enabled: TRUE - показать элемент управления, FALSE (default) - не показывать элемент управления. - options:
-
integer duration: время анимации маштабирования карты, мс. Значение по умолчанию: 200. -
array position: Положение элемента управления над картой. Задается в виде ассоциативного массива со следующими ключами:
- top - отступ от верхнего края контейнера карты в пикселах;
- right - отступ от правого края контейнера карты в пикселах;
- bottom - отступ от нижнего края контейнера карты в пикселах;
- left - отступ от левого края контейнера карты в пикселах.
Если при этом заданы одновременно и top, и bottom, то значение bottom игнорируется. Аналогично, если заданы одновременно и left, и right, то значение right игнорируется. Значение по умолчанию: array ("top"=> 75, "left"=> 5).
-
-
- trafficControl: Панель управления пробками на карте.
Параметры:
-
bool enabled: TRUE - показать элемент управления, FALSE (default) - не показывать элемент управления. - state:
-
string providerKey: ключ провайдера пробок, показываемых на карте.
- 'traffic#actual' - пробки "сейчас"
- 'traffic#archive' - пробки "обычно"
Значение по умолчанию: 'traffic#actual'.
-
bool shown: показаны ли данные по пробкам на карте. Значение по умолчанию: false.
-
- options:
-
array position: Положение элемента управления над картой. Задается в виде ассоциативного массива со следующими ключами:
- top - отступ от верхнего края контейнера карты в пикселах;
- right - отступ от правого края контейнера карты в пикселах;
- bottom - отступ от нижнего края контейнера карты в пикселах;
- left - отступ от левого края контейнера карты в пикселах.
Если при этом заданы одновременно и top, и bottom, то значение bottom игнорируется. Аналогично, если заданы одновременно и left, и right, то значение right игнорируется. Значение по умолчанию: array ("top"=> 5, "right"=> 120).
-
-
- typeSelector: элемент управления "Типы карты".
Параметры:
-
bool enabled: TRUE - показать элемент управления, FALSE (default) - не показывать элемент управления. - params:
-
array mapTypes: Массив конструкторов типов карты или ключей. Список доступных типов карты:
- 'yandex#map' - тип карты "схема";
- 'yandex#satellite' - тип карты "спутник";
- 'yandex#hybrid' - тип карты "гибрид";
- 'yandex#publicMap' - тип карты "народная карта";
- 'yandex#publicMapHybrid' - тип карты "народный гибрид".
Ключи 'yandex#publicMap' и 'yandex#publicMapHybrid' доступны только для России и Украины.
-
- options:
-
array position: Положение элемента управления над картой. Задается в виде ассоциативного массива со следующими ключами:
- top - отступ от верхнего края контейнера карты в пикселах;
- right - отступ от правого края контейнера карты в пикселах;
- bottom - отступ от нижнего края контейнера карты в пикселах;
- left - отступ от левого края контейнера карты в пикселах.
Если при этом заданы одновременно и top, и bottom, то значение bottom игнорируется. Аналогично, если заданы одновременно и left, и right, то значение right игнорируется. Значение по умолчанию: array ("top"=> 5, "right"=> 5).
-
bool fixTitle: Флаг, отвечающий за поведение заголовка элемента управления.
- true - заголовок элемента управления не изменяется при смене типа карты;
- false - заголовок элемента управления изменяется в соответствии с выбранным типом карты.
Значение по умолчанию: false.
-
-
- zoomControl: элемент управления "Ползунок масштаба".
Параметры:
-
bool enabled: TRUE - показать элемент управления, FALSE (default) - не показывать элемент управления. - options:
-
bool noTips: включает/выключает показ всплывающих подсказок: true - подсказки выключены, false - включены. Подсказки показываются в стороне от шкалы масштаба при наведении на нее курсора мыши. Значение по умолчанию: false. -
array position: Положение элемента управления над картой. Задается в виде ассоциативного массива со следующими ключами:
- top - отступ от верхнего края контейнера карты в пикселах;
- right - отступ от правого края контейнера карты в пикселах;
- bottom - отступ от нижнего края контейнера карты в пикселах;
- left - отступ от левого края контейнера карты в пикселах.
Если при этом заданы одновременно и top, и bottom, то значение bottom игнорируется. Аналогично, если заданы одновременно и left, и right, то значение right игнорируется. Значение по умолчанию: array ("top"=> 75, "left"=> 5).
-
-
- mapTools: тулбар со стандартными кнопками.
Методы
-
YMap::create(float $longtitude, float $latitude, integer $zoom, string $type);
Создаёт карту в родительском блоке с заданными координатами.
Параметры:
-
float $longtitude - долгота центра карты. -
float $latitude - широта центра карты. -
integer $zoom - приближение карты. -
string $type - тип карты.
Параметры могут быть опущены для использования соответствующих значений, установленных ранее функцией parameters. Если параметры не были установлены, используются значения по умолчанию:
Для долготы и широты будут использоваться координаты местонахождения пользователя, определённые по IP. Для приближения - среднее доступное приближение (12) либо максимальное приближение, рассчитанное по определённому IP пользователя. Для типа - тип "схема".
-
-
YMap::set_parameters(float $longtitude, float $latitude, integer $zoom, string $type);
Устанавливает параметры карты. Если карта уже создана - меняет её параметры на указанные.
Параметры:
-
float $longtitude - долгота центра карты. -
float $latitude - широта центра карты. -
integer $zoom - приближение карты. -
string $type - тип карты.
-
-
YMap::balloon(Balloon $balloon);
Создаёт на карте балун без привязки к геообъекту.
Параметры:
- Balloon $balloon - экземпляр класса Balloon.
-
YMap::placemark(Placemark $placemark);
Создаёт на карте геообъект отметки.
Параметры:
- Placemark $placemark - экземпляр класса Placemark.
-
YMap::draw($return);
Вставляет код сгенерированной карты.
Если $this->options["init"] установлен в 2, функция не выводит сгенерированный код, а ведёт себя так, как будто параметр $return установлен в TRUE.
Параметры:
-
bool $return - TRUE: Функция возвращает сгенерированный JS-код, FALSE (default) - функция выводит сгенерированный JS-код После вызова функции буфер сгенерированного кода всегда сбрасывается!
-
Балун
Балун - всплывающее облако, которое может отображать любое HTML-содержимое. Может быть создано как для самостоятельного использования, так и для включения в составной объект, например Placemark. Объект реализован классом Balloon. Пример:
$balloon=new Balloon();
Свойства
-
array coordinates: координаты появления балуна. Если не заданы, используются координаты центра карты. - data:
-
string content: содержимое тела балуна. -
string contentBody: содержимое основой части балуна. -
string contentHeader: содержимое заголовка балуна. -
string contentFooter: содержимое нижней части балуна.
Поле content является кратким обозначением для поля contentBody, но при одновременном задании contentBody более приоритетен.
Во всех полях может использоваться любое HTML-содержимое. По умолчанию все поля не заданы.
-
- options:
-
bool autoPan: сдвигать карту, чтобы отобразить открывшийся балун. Значение по умолчанию: true. -
integer autoPanDuration: длительность перемещения к точке балуна (в мс). Значение по умолчанию: 500. -
integer autoPanMargin: отступ от угла viewport-а карты при действии autoPan. -
bool closeButton: флаг наличия кнопки закрытия. Значение по умолчанию: true. -
string interactivityModel: ключ модели интерактивности. Доступные ключи и их значения:
- 'default#opaque' - объект получает все DOM-события и не прокидывает их на карту. Поведения карты не будут работать при наведении или клике на объекты с данной моделью интерактивности.
- 'default#geoObject' - объект получает все DOM-события. На карту прокидываются события 'wheel' и 'mousedown'. У события 'mousedown' выставляется флаг 'preventDefault'=true. Если на карте включены поведения 'scrollZoom' или 'magnifier', они будут работать через объекты с данной моделью интерактивности, в отличие от объектов с моделью 'default#opaque'.
- 'default#layer' - объект получает все DOM-события. На карту прокидываются события 'wheel' и 'mousedown'. Если на карте включены поведения 'scrollZoom', 'drag' или 'magnifier', они будут работать через объекты с данной моделью интерактивности.
- 'default#transparent' - объект получает все DOM-события, а затем прокидывает их на карту.
Значение по умолчанию: 'default#opaque'.
-
integer maxHeight: максимальная высота, в пикселах. -
integer maxWidth: максимальная ширина, в пикселах. -
integer minHeight -
integer minWidth: минимальная высота, в пикселах. -
integer offset: минимальная ширина, в пикселах. -
bool shadow: флаг наличия тени. Значение по умолчанию: true
-
Методы
-
Balloon::SetData(string $contentBody, string $contentHeader, string $contentFooter);
Задаёт полное содержимое балуна.
Параметры:
-
string $contentBody - задаёт поле contentBody. -
string $contentHeader - задаёт поле contentHeader. -
string $contentFooter - задаёт поле contentFooter.
-
Хинт
Хинт - всплывающая подсказка, которая может отображать любое HTML-содержимое. Создаётся для включения в составные объекты, например Placemark. Объект реализован классом Hint.
При создании объекта ему может быть передан параметр $content, отвечающий за содержимое подсказки. Пример:
$hint=new Hint('Это подсказка');
В текущей версии фреймворка хинт не может быть создан для самостоятельного отображения, и нужен только для задания соответствующего свойства у маркеров.
Свойства
-
string content: содержимое подсказки. В качестве содержимого может использоваться любой HTML-код. По умолчанию поле не задано. - options:
-
bool fitPane: флаг, заставляющий хинт сдвигать свою позицию, чтобы не выходить за границы контейнера. Значение по умолчанию: true. -
integer hideTimeOut: задержка закрытия (в мс). Значение по умолчанию: 700. -
bool holdByMouse: флаг, оменяющий закрытие хинта, находящегося под курсором. Значение по умолчанию: true. -
string interactivityModel: ключ модели интерактивности. Доступные ключи и их значения:
- 'default#opaque' - объект получает все DOM-события и не прокидывает их на карту. Поведения карты не будут работать при наведении или клике на объекты с данной моделью интерактивности.
- 'default#geoObject' - объект получает все DOM-события. На карту прокидываются события 'wheel' и 'mousedown'. У события 'mousedown' выставляется флаг 'preventDefault'=true. Если на карте включены поведения 'scrollZoom' или 'magnifier', они будут работать через объекты с данной моделью интерактивности, в отличие от объектов с моделью 'default#opaque'.
- 'default#layer' - объект получает все DOM-события. На карту прокидываются события 'wheel' и 'mousedown'. Если на карте включены поведения 'scrollZoom', 'drag' или 'magnifier', они будут работать через объекты с данной моделью интерактивности.
- 'default#transparent' - объект получает все DOM-события, а затем прокидывает их на карту.
Значение по умолчанию: 'default#opaque'.
-
integer showTimeout: задержка открытия (в мс). Значение по умолчанию: 150.
-
Маркер
Placemark или маркер - точечная отметка на карте. Объект реализован классом Placemark и является потомком класса GeoObject с принудительно установленным свойством Geometry->type='point'.
При создании объекта ему могут быть переданы координаты положения. Пример:
$placemark=new Placemark(55.7,37.615564701);
Свойства
- feature
- properties:
-
string iconContent: содержимое иконки геообъекта. -
string hintContent: содержимое всплывающей подсказки геообъекта. -
string balloonContent: содержимое балуна геообъекта. -
string balloonContentHeader: содержимое заголовка балуна геообъекта. -
string balloonContentBody: содержимое основой части балуна геообъекта. -
string balloonContentFooter: содержимое нижней части балуна геообъекта.
Поле balloonContent является кратким обозначением для поля balloonContentBody, но при одновременном задании balloonContentBody более приоритетен.
-
- properties:
- options
-
string cursor: вид курсора над геообъектом. Значение по умолчанию: "pointer". -
bool draggable: определяет возможность перетаскивания геообъекта. Значение по умолчанию: false. -
bool fill: наличие заливки фигуры. Значение по умолчанию: true. -
string fillColor: цвет заливки. Значение по умолчанию: "0066ff99". -
integer fillOpacity: прозрачность заливки. Значение по умолчанию: 1. -
bool hasBallon: определяет наличие поля balloon у геообъекта. Значение по умолчанию: true. -
bool hasHint: определяет наличие поля hint у геообъекта. Значение по умолчанию: true. -
bool hideIconOnBalloonOpen: скрывать иконку при открытии балуна. Значение по умолчанию: true. -
string iconColor: цвет иконки (для растягивающихся под содержимое иконок). -
array iconContentOffset: пиксельный сдвиг содержимого иконки относительно родительского элемента. -
array iconContentPadding: отступ для содержимого в иконке. -
array iconContentSize: размер содержимого. -
array iconImageClipRect: прямоугольная область (указывается левый верхний и правый нижний углы), которая будет вырезана из исходного графического файла и смасштабирована под размеры иконки (например для использования спрайтов). По умолчанию исходная картинка подставляется полностью. -
string iconImageHref: URL графического файла иконки. -
string iconImageOffset: пиксельный сдвиг изображения иконки внутри родительского элемента. -
string iconImageSize: размер иконки в пикселах. -
string iconMaxHeight: максимальная высота иконки с содержимым. Параметр задаётся в виде значения CSS-стиля, например '1em' или '10px'. -
string iconMaxWidth: минимальная высота иконки с содержимым. Параметр задаётся в виде значения CSS-стиля, например '1em' или '10px'. -
array iconOffset: пиксельное смещение иконки относительно заданной позиции. -
bool iconShadow: флаг наличия тени у иконки. Значение по умолчанию: false. -
string iconShadowImageHref: URL графического файла тени иконки. -
string iconShadowImageOffset: пиксельный сдвиг изображения тени иконки внутри родительского элемента. -
string iconShadowImageSize: размер тени иконки. -
string iconShadowOffset: пиксельное смещение тени иконки относительно заданной позиции. -
string interactivityModel: ключ модели интерактивности. Доступные ключи и их значения:
- 'default#opaque' - объект получает все DOM-события и не прокидывает их на карту. Поведения карты не будут работать при наведении или клике на объекты с данной моделью интерактивности.
- 'default#geoObject' - объект получает все DOM-события. На карту прокидываются события 'wheel' и 'mousedown'. У события 'mousedown' выставляется флаг 'preventDefault'=true. Если на карте включены поведения 'scrollZoom' или 'magnifier', они будут работать через объекты с данной моделью интерактивности, в отличие от объектов с моделью 'default#opaque'.
- 'default#layer' - объект получает все DOM-события. На карту прокидываются события 'wheel' и 'mousedown'. Если на карте включены поведения 'scrollZoom', 'drag' или 'magnifier', они будут работать через объекты с данной моделью интерактивности.
- 'default#transparent' - объект получает все DOM-события, а затем прокидывает их на карту.
Значение по умолчанию: 'default#geoObject'.
-
integer opacity: прозрачность. Значение по умолчанию: 1. -
bool openBalloonOnClick: определяет показывать ли балун при щелчке на геообъекте. Значение по умолчанию: true. -
bool openEmptyBalloon: определяет показывать ли пустой балун при щелчке на геообъекте. Значение по умолчанию: false. -
string preset: ключ предустановленных опций геообъекта. Список доступных ключей содержится в соответствующем описании API Яндекс.Карт. -
bool showEmptyHint: определяет показывать ли пустой хинт при наведении указателя мыши на геообъект. Значение по умолчанию: false. -
bool showHintOnHover: определяет показывать ли хинт при наведении указателя мыши на геообъект. Значение по умолчанию: true. -
bool stroke: наличие обводки фигуры. Значение по умолчанию: true. -
string strokeColor: цвет линии или обводки. Значение по умолчанию: "0066ffff". -
integer strokeOpacity: прозрачность линии или обводки. Значение по умолчанию: 1. -
string strokeStyle: стиль линии или обводки. -
integer strokeWidth: толщина линии или обводки. Значение по умолчанию: 1. -
bool visible=: определяет видимость геообъекта. Значение по умолчанию: true. -
integer zIndex: z-index геообъекта в обычном состоянии. Наименее приоритетный. -
integer zIndexActive: z-index геообъекта с открытым балуном. Наиболее приоритетный. -
integer integer zIndexDrag: z-index геообъекта при перетаскивании. -
integer zIndexHover: z-index геообъекта при наведении на него указателя мыши. -
balloonOptions: опции балуна геообъекта, соответствуют опциям объекта Balloon. -
hintOptions: опции хинта геообъекта, соответствуют опциям объекта Hint.
-
Методы
-
Placemark::set_center(float $longtitude, float $latitude);
Задаёт положение маркера
Параметры:
- float $longtitude - долгота маркера.
- float $latitude - широта маркера.
-
Placemark::set_balloon(Balloon $balloon);
Привязывает балун к маркеру.
Параметры:
- Balloon $balloon - экземпляр класса Balloon.
-
Placemark::set_hint(Hint $hint);
Привязывает хинт к маркеру
Параметры:
- Hint $hint - экземпляр класса Hint.