mapSurfer GS / API / Карта
Карта
Карта – один из основных объектов. Одновременно с этим в проекте может быть несколько карт. Карту можно вписывать в DOM element, на нее можно добавлять слои, устанавливать маркеры и т.д.
Пример использования
var map = new GeoPortal.Map();
var zoom = map.zoom();
map.setZoom(zoom + 2);
Конструктор
Параметры при создании |
Описание |
Пример использования |
Container |
Либо DOM element, либо строка id DOM элемента |
—
|
Options |
— |
options: {
zoom: 3,
center: {
lng: 88.681640625,
lat: 55.37911044801047
},
baseLayer: undefined, //GepPortal.BaseLayer
layers: [ ] //GepPortal.Layers,
},
|
//пример создания
var map = GeoPortal.Map(container, options);
Опции
Опция |
Описание |
Значение по умолчанию |
zoom |
Уровень масштаба |
3 |
center |
Центр карты |
lng: 88.681640625,
lat: 55.37911044801047 |
baseLayer |
Базовый слой |
undefined |
layers |
Включенные по умолчанию слои |
[ ] |
Управление картой
Методы
Метод |
Описание |
Пример использования |
zoom() |
возвращает zoom карты |
var map = new GeoPortal.Map();
var zoom = map.zoom();
map.setZoom(setZoom + 2);
|
setZoom (zoom) |
Устанавливает zoom, параметр zoom — числовое значение |
var map = new GeoPortal.Map();
map.setZoom(5);
|
zoomIn() |
Увеличивает zoom на единицу(приближает карту) |
var map = new GeoPortal.Map();
map.zoomIn();
|
zoomOut() |
Уменьшает zoom на единицу(отдаляет карту) |
var map = new GeoPortal.Map();
map.zoomOut();
|
panBy (point) |
Сдвигает карту на координаты точки. Параметр point – экземпляр класса GeoPortal.Point |
var map = new GeoPortal.Map();
var point = new M.Point(555,555);
map.panBy(p);
|
center() |
возвращает центр карты |
var map = new GeoPortal.Map();
var center = map.center ();
console.log(center);
|
setCenter (lon,lat) |
Устанавливает центр карты |
var map = new GeoPortal.Map();
map.setCenter(55,55);
|
setView (lon,lat,zoom) |
Устанавливает положение карты с центром в точке (lon,lat) и уровнем масштаба zoom |
var map = new GeoPortal.Map();
map.setView(55,55,3);
|
bounds() |
возвращает текущий bbox |
-
|
fitBounds (minLon, minLat ,maxLon ,maxLat) |
устанавливает bbox |
var map = new GeoPortal.Map();
map.fitBounds (48.988037109375, 55.706224094880426,
49.2626953125, 55.889945875033845);
|
fitBounds (latLngBounds) |
Устанавливает bbox, параметр latLngBounds является экземпляром класса GeoPortal.LatLngBounds. |
var map = new GeoPortal.Map();
var latLngBounds = new GeoPortal.LatLngBounds (48.988037109375,
55.706224094880426, 49.2626953125, 55.889945875033845);
map.fitBounds (latLngBounds);
|
Управление слоями
Методы
Метод |
Описание |
Пример использования |
baseLayer() |
Возвращает текущий базовый слой, экземпляр класса GeoPortal.BaseLayer |
-
|
setBaseLayer(baseLayer) |
Установить базовый слой и добавить его на карту, параметр baseLayer экземпляр класса GeoPortal.BaseLayer |
var map = new GeoPortal.Map();
if(GeoPortal.baseLayers &&
GeoPortal.baseLayers.schemas &&
GeoPortal.baseLayers.length > 0) {
var baseLayer = new GeoPortal.baseLayers.schemas[0];
map.setBaseLayer(baseLayer) ;
}
|
layers() |
возвращает массив добавленных слоев |
-
|
addLayer (layer) |
Добавляет слой на карту, параметр layer — экземпляр GeoPortal.Layer |
-
|
removeLayer(layer) |
Удаляет слой с карты, параметр layer — экземпляр GeoPortal.Layer |
-
|
Управление графическими элементами
Методы
Метод |
Описание |
Пример использования |
addControl(control) |
Добавляет control на карту, параметр control – экземпляр класса GeoPortal.Control. |
var map = new GeoPortal.Map();
zoom = new GeoPortal.Control.Zoom();
zoom.on("handClick", function(){
console.log("handClick");
},this);
map.addControl(zoom);
|
removeControl(control) |
Удаляет control, параметр control – экземпляр класса GeoPortal.Control. |
var map = new GeoPortal.Map();
zoom = new GeoPortal.Control.Zoom();
zoom.on("handClick", function(){
console.log("handClick");
},this);
map.addControl(zoom);
map.removeControl (zoom);
|
Запросы
Методы
Метод |
Описание |
featuresWithin(latLngBounds, callback,callErrorBack) |
получение свойств слоев (feautures) по bbox.
входящие параметры:
latLngBounds — экземпляр класса GeoPortal.LatLngBounds,
callback(featuresArray) – функция выполняется, если хотя бы у одного слоя,
включенного на карте будет найдено свойство с координатами, находящимися в
указанной области (latLngBounds). Принимает на вход один параметр — массив
экземпляров класса GeoPortal.Feature.
callErrorBack(status,error) – функция будет выполняться при возникновении ошибки во
время запроса. На вход принимает два параметра: статус и описание ошибки.
|
События
var map = new GeoPortal.Map();
map.on(“zoomend”,function(){
console.log(map.zoom());
},this);
Событие |
Описание |
ready |
событие происходит, когда карта готова к использованию. |
zoomend |
событие происходит после приближения или отдаления карты. |
move |
событие происходит при сдвиге карты. |
viewreset |
событие происходит после перерисовки карты. |
popupclose |
событие происходит после закрытия окошка сообщения на карте |
popupopen |
событие происходит после открытия окошка сообщения на карте(например, после клика на точку) |