Добавляю из массива с адресами на карту метки
var addresses = [
'Санкт-Петербург, Проспект Стачек, 100',
'Санкт-Петербург, Проспект Славы, 23'
];
/*--------------*/
ymaps.ready(init);
function init(){
var map = new ymaps.Map('map', {
center: [59.93, 30.33],
zoom: 12,
behaviors: ['default', 'scrollZoom'],
controls: ['mapTools'],
});
function addLabel(map, addr) {
var geocoder = new ymaps.geocode( addr, { results: 1 } );
geocoder.then(function (res) {
map.geoObjects.add(res.geoObjects.get(0));
});
}
for (var i=0; i<addresses.length; ++i) {
addLabel(map, addresses[i]);
}
}
Нужно в зависимости от района покрасить их в разный цвет. Или хотя бы полигоны на сами районы сделать Как определить район по адресу? http://jsfiddle.net/pw4Tc/97/
Определить район через API можно только через обратное геокодирование по координатам. При запросе к геокодеру нужно передать координаты точки и опцию kind со значением district, в этом случае геокодер вернет название района, зная которое можно красить метки в некоторый цвет из заданного набора.
Определить район города в вашем случае можно так:
function addLabel(map, addr) {
ymaps.geocode(addr, { results: 1 })
.then(function (res) {
var point = res.geoObjects.get(0);
var coordinates = point.geometry.getCoordinates();
ymaps.geocode(coordinates, { kind: 'district' })
.then(function (res) {
var district = res.geoObjects.get(0)
// Название района города
district.properties.get('name');
// Добавление точки на карту
map.geoObjects.add(point);
});
});
}
Как развивать веб-проекты в 2026 году: технологии, контент E-E-A-T и факторы доверия
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники