Skip to content

Инициализация карт на основе JSON-объекта. Яндекс.Карты, Google Maps, 2GIS

Notifications You must be signed in to change notification settings

milaxcom/jQueryMapi

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 

Repository files navigation

jQueryMapi

###Демо-страница | Скачать

Модуль jQuery Mapi предназначен для инициализации карт на основе JSON-объекта. Поддерживаемые системы: Яндекс.Карты (RUS), Google Maps (MULTI), 2GIS (RUS).

######Модуль тестировался только в Google Chrome с jQuery 1.11.1 ввиду недостатка времени.

####Преимущества

  • Предустановленные, наиболее популярные настройки карт.
  • Генерация идентичных карт с использованием разных провайдеров, что дает возможность быстро менять провайдеров, если один из них не показывает нужные объекты или не удовлетворяет заказчика.
  • Данные подгружаются из внешнего файла, что дает возможность легко собрать модуль для CMS.

###Подключение

<script type="text/javascript" src="js/jquery-1.11.1.min.js"></script>
<script type="text/javascript" src="/jquery.mapi.js"></script>

Подключение API провайдеров (требуется подключение только необходимых API).

<script type="text/javascript" src="http://api-maps.yandex.ru/2.1/?lang=ru_RU"></script>
<script type="text/javascript" src="https://maps.googleapis.com/maps/api/js?v=3&language=ru"></script>
<script type="text/javascript" src="http://maps.api.2gis.ru/2.0/loader.js?pkg=basic" data-id="dgLoader"></script>

Данные для карты (JSON-объект)

<!-- В теге HEAD -->
<meta name="mapi:storage-url" content="/jQueryMapi/demo/storage.json">

Демо-пример JSON-объекта.

###Использование

Для автоматической инициализации требуется добавить контейнеру id, который будет соответствовать id в JSON-объекте и класс mapi.

<div id="map1" style="width:300px;height:200px;" class="mapi"></div> 

Не рекомендуется инициализировать карту при загрузки страницы, если карта по-умолчанию скрыта от пользователя, например ч/з display:none;. В таком случае параметры ширины и высоты не всегда и у всех провайдеров определяются верно и модуль выглядит не корректно. Есть «фиксы», которые решают проблему с каждым конкретным провайдером, но их требуется настраивать вручную.

#####Второй метод инициализации ч/з функцию, с указанием ID.

<!-- HTML -->
<div id="map1" style="width:300px;height:200px;"></div>
/* JavaScript */
mapi( "map1" );

В данном методе модуль будет искать id равный map1 в JSON-объекте с данными. Если id не будет найден — инициализация не произойдет.

Данный метод имеет «надстройку» на jQuery, вызов можно совершить след. образом:

/* JavaScript */
var $map = $("#map1");
$map.mapi();

About

Инициализация карт на основе JSON-объекта. Яндекс.Карты, Google Maps, 2GIS

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published