@KArtem

Как отметить на одной карте очень много адресов?

У меня есть 51 тысяча адресов (страна, город, улица, номер дома), и их все нужно отметить на одной карте (Гугл или Яндекс).

Как это лучше сделать?
  • Вопрос задан
  • 14350 просмотров
Пригласить эксперта
Ответы на вопрос 2
Gorily
@Gorily
1. Сперва конвертировать адреса в координаты скриптом:
api.yandex.ru/maps/doc/geocoder/desc/examples/geoc...
2. Вывести простым кодом:
var myMap;
ymaps.ready(init);

function init () {
    myMap = new ymaps.Map('map', {
        center:[55.76, 37.64],
        zoom:10
    });
	
	// Эта строка запрещает передвигать карту
	myMap.behaviors.disable(['drag', 'rightMouseButtonMagnifier']);

    var coords = [
		[55.76, 37.64],		// Москва
		[56.31, 43.98],		// Нижний Новгород
		[54.28, 48.24],		// Ульяновск
		[52.30, 104.28],		// Иркутск
		[62.02, 129.73],		// Якутск
		[64.72, 177.49],		// Анадырь
	],
	
    myCollection = new ymaps.GeoObjectCollection({}, {
       iconImageHref: 'http://ваша_иконка',
	   iconImageSize: [16, 16],
       iconImageOffset: [-8, -8]
    });

	for (var i = 0; i < coords.length; i++) {
   		myCollection.add(new ymaps.Placemark(coords[i]));
	}

	myMap.geoObjects.add(myCollection);
	myMap.setBounds(myMap.geoObjects.getBounds());
    };

Можно и напрямую геокодинг использовать, но сам Яндекс не рекомендует так делать - долго. Ну и кластеризацию по желанию включить.
Ответ написан
Комментировать
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы