Клуб API Карт

Выделение городов и районов

dveri-komandor
10 марта 2015, 23:22

Здравствуйте! Подскажите, пожалуйста, есть ли возможность выделить определенный город или район (например, город Пушкино в Московской области, как это делается на картах Яндекса) ?

2 комментария
Подписаться на комментарии к посту
Всеволод Шмыров
11 марта 2015, 15:04
Добрый день. Выделить область на карте при помощи API Яндекс.Карт можно несколькими способами. Простым полиготом https://tech.yandex.ru/maps/jsbox/2.1/polygon или, к примеру, используя собственный перекрывающий тайловый слой. Но в первом случае нужно точно знать координаты полигона, а во втором нарисовать тайлы. API не предоставляет коорднаты контуров объектов на карте.
Еще один пример я встречал на сайте https://nsk.antiagent.ru/karta.html
Смотрите, там есть xml https://nsk.antiagent.ru/xml/nsk.xml?v=1.21
и код инициализирующий карту

   ymaps.ready(init);
var myMap, myPlacemark;
function init () {
myMap = new ymaps.Map('map', {
center: [55.016667,82.916667],
zoom: 10
});
myMap.controls.add( new ymaps.control.ZoomControl());
myMap.controls.add('typeSelector');
myMap.geoObjects.remove(districtMapObject);
ymaps.geoXml.load('xml/nsk.xml?v=1.21').then(
function (res) {onGeoXmlLoadDistrict(res);},function (err) {}
);
var districtMapObject;
function onGeoXmlLoadDistrict (res) {
districtMapObject = res.geoObjects;
myMap.geoObjects.add(districtMapObject);
if (res.mapState) res.mapState.applyToMap(myMap);
}
};