Below is the text of the page https://mapia.ua/api_docs.html stored 2009-04-27 by archive.org.ua. The original page over time could change. View as original html

Документация MapiaAPI

Документация API Mapia¶ [#Документация-API-Mapia] Для того чтобы посетители вашего сайта смогли увидеть карту на вашей странице у них должен быть установлен Flash Player 9.0.115 и выше, а также они должны пользоваться следующими браузерами: Opera 9 и выше FireFox 2 и выше Internet Explorer 6 и выше Safari 3 и выше Google Chrome Установка ¶ Для того, чтоб пользоваться MapiaAPI, необходимо получить ключ по адресу: http://mapia.ua/apikeys/new В поле хост нужно ввести хост сайта на котором вы хотите использовать API. Для хостов localhost и 127.0.0.1 получать ключ не обязательно. После получения ключа достаточно подключить в документ скрипт: Простейший пример использования MapiaAPI Mapia API Конструктор ¶ Mapia(elementId, options) ¶ elementId - DomID элемента, который будет заменен на Flash-объект. Флеш-объекту будут установлины заначения with и height 100%, это значит что размер и позиция карты задается размером и позицией контейнера в котором находиться elementId . Пример options - параметр типа Object с такими аттрибутами: zoom - начальный уровень приближения карты. Число от 6(далеко) до 18(близко) center - точка в которую будет цетрирована карта. Это может быть либо объект с аттрибутами lat, lon - где lat и lon - это широта и долгота соответственно; либо строка c почтовым адресом. lang - язык на котором будут отображаться названия на карте (доступные варианты "ru" и "ua") wmode - параметр wmode будет установлен флеш объекту при вставлении в документ Пример 1. var map = new Mapia('mapia', {center:'площадь Победы 1', zoom:15}) Пример 2. var map = new Mapia('mapia', {center:{lat:50.45759, lon:30.38898}, zoom:15}) Методы ¶ getCenter ¶ Возвращает координаты центра карты в объекте {lat:... , lon:...}. Этот метод вернет null, если карта еще не инитиализирована setCenter(latlonOrString) ¶ Задает координаты карты. Как и в конструкторе - это может быть latlon объект или строка с адресом. setCity(cityTitle) ¶ Устанавливает город в контексте которого будет осуществляться поиск адресов для установки маркера или центрирования карты getZoom ¶ Возвращает зум карты setZoom(number) ¶ Задает зум карты. Возможные значения - от 6 до 18. addMarker(markerId, latlonOrString, popupData) ¶ Устанавливает маркер с идентификатором markerId в место у казаное координатами или адресом во втором параметре. Если такой идентификатор уже был использован другим маркером, маркер не добавится. Объект popupData содерит данные, которые должен отображать попап, может содержать следующие аттрибуты: title - заголовок. Отображается в подсказке при наведении на маркер. (Обязательное поле) icon_url - url иконки маркера. Если иконка находится не на mapia.ua, то адресс должен быть указан полностью, и на сервере с которого загружается иконка, должен быть файл /crossdomain.xml, разрешающий доступ домену mapia.ua (Обязательное поле) nopopup - true|false . Установите true если не хотите чтоб отображался попап при клике на маркер. custom_content - url *.swf файла, который является Flex-модулем, который будет подгружен и отображен в попапе. Если не указан, то будет использован стандартный модуль. Подробнее о создании модулей содеримого попапа ниже. Все остальные поля будут переданы в модуль, отображающий содержимое попапа. Для стандартного модуля можно передавать такие поля: title - Отображается большими буквами. category_name - Отображается в попапе над заголовком. logo - url логотипа, картинка 100x100. address - адрес. phone - телефон. url - адрес веб-сайта. Протокол в url должен быть указан обязательно. Например: http://example.com note - текст, который отображается в попапе под адресом, телефоном, е-мейлом. description - текст в попапе. Внимание! Есть 3 распространенные ошибки, при добавлении маркера: не указан icon_url , или указан относительный урл, который интерпритируется относительно http://mapia.com.ua/ , а не относительно урла страницы, в которую включена карта указан не уникальный идентификатор маркера На сервере, с которого скачивается иконка для маркера, не лежит файл crossdomain.xml Возможное решение проблемы: иконки для маркеров разместить на своем сервере, и в корень положить файл crossdomain.xml например такого содержания: Пример всегда можно посмотреть здесь: http://mapia.ua/crossdomain.xml Это относится только к иконкам маркера, и не относиться к логотипам. removeMarker(markerId) ¶ Удаляет маркер с указаным идентификатором. События ¶ На любом экземпляре класса Mapia можно подписываться на события. В обработчик события будет передан аргумент event в котором поле target - это экземпляр класса Mapia, и type - произошедшее событие. Остальные поля в зависят от произошедшего события. Пример использования событий ¶ var i = 0; var mapia = new Mapia('mapia'); mapia.addEventListener('mapClick', function(event){ event.target.addMarker((i++).toString(), event.loc, {title:i.toString(), icon_url:'http://example.com/icons/'+i.toString()+'.png'}) }); initialized ¶ Происходит, когда флеш-объект Mapia создан, загружен, и готов выполнять команды от Mapia API. Все методы экземпляра класса Mapia, вызваные до этого события, складываются в очередь, и выполняются непосредственно перед этим событием. zoomChanged ¶ Происходит когда изменено значение zoom . Параметр event содержит дополнительное поле zoom centerChanged ¶ Происходит когда изменен центр карты. Параметр event содержит дополнительное поле center mapClick ¶ Происходит когда пользователь кликает мышкой по карте. Параметр event содержит дополнительное поле loc - точка на карте в которую кликнул пользователь markerClick ¶ Происходит когда пользователь кликает на маркере. Параметр event содержит дополнительные поля: markerId - идентификатор маркера loc - долгота и широта маркера (lat, lon) popupData - даные для попапа маркера geocodeSuccess , geocodeFailure ¶ Когда в методах setCenter и addMarker используется строка вместо LatLon объекта, то для этой строки будет отправлен на сервер поисковый запрос. Если адрес найден, то произойдет geocodeSuccess , в противном случае - geocodeFailure . Создание модуля, отображающего содержимое попапа. ¶ Модуль должен имплементировать интерфейс com.mapia.IPopupContent . IPopupContent.swc Вот этот интерфейс: public interface IPopupContent { function get popupData():Object; function set popupData(value:Object):void; } Пример простого модуля, которому можно указать цвет фона и цвет текста. Подробнее о том как создавать и компилировать Flex-модули можно почитать здесь Вы можете оптимизировать ваш модуль для использования его только в приложнии Mapia , вырезав из него все те компоненты, которые уже есть в Mapia.swf (размер модуля может уменьшиться до 30k). Для этого при компиляции используйте аргумент -load-externs, с нашим report.xml