Геообъекты Яндекс.Карт

project author

Если Вам понравился данный материал, поделитесь им с вашими друзьями в соц сетях


API Яндекс.Карт позволяет размещать на картах произвольное количество визуальных объектов (Геообъектов). (Геообъекты указывают и описывают объекты реального мира).

К геообъектам относятся: метки, круги, ломаные, прямоугольники, многоугольники, а также их коллекции. Геообъект характеризуется своей геометрией, которая определяется геометрическим типом (точка, круг, ломаная и пр.) и координатами географического объекта.

Базовым классом, реализующим геообъект является класс GeoObject. Экземпляр карты размещает геообъекты в собственном хранилище, реализованном в виде коллекции, ссылка на которую находится в поле geoObjects. Добавление геообъекта на карту, его изменение и удаление производится с помощью обращения к этой коллекции.

Тип геометрии присваивается геообъекту в момент его создания и не может быть изменен в дальнейшем. При этом координаты геометрии могут быть изменены как программно, так и пользователем с помощью визуального редактора.

Если геообъект был инициализирован без указания геометрии, то он не будет отображаться на карте. Присвоить тип геометрии такому геообъекту также будет невозможно.

 

Создадим геообъект и добавим его на карту

Создадим геообъект с помощью класса GeoObject и добавим геообъект на карту, с помощью обращения к коллекции GeoObjects:

// создадим геообъект
var myGeoObject = new ymaps.GeoObject({
  // Тип геометрии - точка.
  type: 'Point',
  // Координаты точки.
  coordinates: [55.8, 37.8]
});
// добавим геообъект на карту
myMap.geoObjects.add(myGeoObject);

Для каждого типа геометрии определен вспомогательный класс, позволяющий использовать для создания геообъекта сокращенный синтаксис.

// создадим геообъект с типом геометрии "точка" (type: "Point")
var myPlacemark = new  ymaps.Placemark([55.8, 37.6]);
// добавим геообъект на карту
myMap.geoObjects.add(myPlacemark);

 

Cписок геообъектов

Рассмотрим список геообъектов используемых в классе GeoObject и соответствующих вспомогательных классов, предоставляющих упрощенный синтаксис для создания геообъекта.

 

Placemark

fullscreenControl

создадим геообъект типа геометрии "точка" двумя способами:

  • с помощью класса GeoObject
  • с помощью вспомогательного класса Placemark

 

// создадим геообъект с помощью класса - GeoObject
var myPlacemark = new ymaps.GeoObject({
    geometry: {
        type: "Point", // Тип - точка
        coordinates: [55.75396, 37.620393], // географические координаты
    }
});
// или создадим геообъект с помощью вспомогательного класса - Placemark
var myPlacemark = new ymaps.Placemark([55.75396, 37.620393]);
// добавим геообъект на карту
myMap.geoObjects.add(myPlacemark);

 

Circle

fullscreenControl

создадим геообъект типа геометрии "круг" двумя способами:

  • с помощью класса GeoObject
  • с помощью вспомогательного класса Circle

 

// создадим геообъект с помощью класса - GeoObject
var myCircle = new ymaps.GeoObject({
    geometry: {
        type: "Circle", // Тип - круг
        coordinates: [55.75396, 37.620393], // географические координаты
        radius: 15000 // радиус
    }
});
// или создадим геообъект с помощью вспомогательного класса - Circle
var myCircle = new ymaps.Circle([
	coordinates: [55.75396, 37.620393], // географические координаты
    radius: 15000 // радиус
]);
// добавим геообъект на карту
myMap.geoObjects.add(myCircle);

 

Polyline

fullscreenControl

создадим геообъект типа геометрии "ломаная" двумя способами:

  • с помощью класса GeoObject
  • с помощью вспомогательного класса Polyline

 

// создадим геообъект с помощью класса - GeoObject
var myPolyline = new ymaps.GeoObject({
    geometry: {
        type: "LineString", // Тип - ломаная
        coordinates: [
        	[55.75396, 37.620393], 
        	[56.1, 37.620393], 
        	[55.75396, 37.1],
        	[55.45, 37.4],
        	[55.8, 37.9],
        ]
    }
});
// или создадим геообъект с помощью вспомогательного класса - Polyline
var myPolyline = new ymaps.Polyline(
    [ [55.75396, 37.620393], [56.1, 37.620393], [55.75396, 37.1], [55.45, 37.4], [55.8, 37.9], ]
);
// добавим геообъект на карту
myMap.geoObjects.add(myPolyline);

 

Rectangle

fullscreenControl

создадим геообъект типа геометрии "прямоугольник" двумя способами:

  • с помощью класса GeoObject
  • с помощью вспомогательного класса Rectangle

 

// создадим геообъект с помощью класса - GeoObject
var myRectangle = new ymaps.GeoObject({
    geometry: {
        type: "Rectangle",
        coordinates: [
        	[55.75396, 37.620393], 
        	[55.5, 38.1],
        ]
    }
});
// или создадим геообъект с помощью вспомогательного класса - Rectangle
var myRectangle = new ymaps.Rectangle(
    [ [55.75396, 37.620393], [55.5, 38.1], ]
);
// добавим геообъект на карту
myMap.geoObjects.add(myRectangle);

 


  Теги: API Яндекс.Карт