Файлы JS для этих компонентов не включены в пакет библиотеки и могут быть взяты из:
<script src="https://cdn.webix.com/components/edge/ckeditor/ckeditor.js"></script>
Библиотека Webix позволяет встраивать географические карты в приложение с помощью собственных компонентов. Поддерживаются следующие карты:
Карты, связанные с пользовательским интерфейсом, наследуются от view.
Вы можете задать путь к источнику нужной карты на CDN. Существуют три способа сделать это:
false
свойству cdn, чтобы избежать возможных конфликтов с версией компонента, включенной по умолчанию.Для начала нужно добавить специальный файл в раздел head
вашего документа. Указанный скрипт помогает присоединить стороннее приложение без указания явной ссылки:
Расширения расположены по адресу https://github.com/webix-hub/components. Обратите внимание, в примерах документации они связаны по-другому, следуйте шаблонам ниже:
<script type="text/javascript" src="./heremap.js"></script>
<script type="text/javascript" src="./openmap.js"></script>
Related sample: OpenStreet Map
<script type="text/javascript" src="./yandexmap.js"></script>
Related sample: Integration: Yandex Map
Определите где на странице будет расположена карта. Вы можете отобразить ее внутри любого элемента HTML, заданного как контейнер карты:
// <div id="mydiv"></div>
webix.ui({
container:"mydiv",
// конфигурация map
});
Дополнительно вы можете поместить карту в Webix Window:
webix.ui({
view:"window", id:"mapwin",
body:{ ... }, // конфигурация map
head:{ ... }, // место для тулбара
top:50, left:50,
width:600, height:500 // размеры и положение окна
}).show();
Создайте карту и назначьте ей нужные свойства. Конструкторы всех карт одинаковы и отличаются только названием view
.
Инициализация карты
{
view:"yandex-map", // или "here-map", "open-map"
id:"map",
zoom:6,
center:[ 48.724, 8.215 ]
}
Свойства определяющие исходное положение карты:
Чтобы сделать онлайн карты интерактивными, обратитесь к справочнику API по каждой из предоставляемых услуг. Чтобы получить доступ к объекту карты, используйте метод getMap():
var mapObj = $$("map").getMap();
Метод может принимать параметр waitMap. Если передан, метод возвращает промис, который разрешится при отображении карты.
$$("map").getMap().then(function(mapObj){
// ваш код
});
API каждой из карт предлагает большое число возможных настроек, контролы, слои, сервисы и т.п.
Например,
// для Яндекс.Карты
$$("map").getMap().setCenter([lat, lang], zoom);
// для Here Map
$$("map").getMap().setCenter({lat:lat, lng:lng});
// для Open Map
$$("map").getMap().panTo([lat, lng]);
// для Яндекс.Карты
var myPlacemark = new ymaps.Placemark([lat, lang]);
$$("map").getMap().geoObjects.add(myPlacemark);
Проверяйте API каждой из карт, чтобы узнать ее методы, свойства и события.