Метки разного цвета,в зависимости от района

211
29 июня 2017, 04:52

Добавляю из массива с адресами на карту метки

 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/

Answer 1

Определить район через 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);
                    });
        });
}
READ ALSO
Метод post в ссылках

Метод post в ссылках

Хочу сделать единую форму , без указания action И вывести ниже две ссылки, редактировать и удалить, у редактировать action="editphp" у удалить action="delete

204
Синхронизировать канвас с анимацией

Синхронизировать канвас с анимацией

В каждом фрейме отрисовки (requestAnimationFrame) в центре канваса рисуется кругРазмер канваса анимируется

198
Наследование свойств элементов. ASP.NET

Наследование свойств элементов. ASP.NET

Необходимо решить следующую проблему

294
Link-list JAWS feature (insert + F7) on dialog windows shows all background links

Link-list JAWS feature (insert + F7) on dialog windows shows all background links

I use role="document" and Angular $modalInstance to implement dialog window (look at the picture below)

172