Клуб API Карт

Uncaught ReferenceError при множественном геокодировании

Пост в архиве.

 Добрый день!

Делаю множественное геокодирование, иногда выскакивает ошибка Uncaught ReferenceError: id_1374574124100907641 is not defined, из-за чего это может быть?

Спасибо!

 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<script src="http://api-maps.yandex.ru/2.0/?load=package.full&lang=ru-RU" type="text/javascript"></script>
<script src="http://yandex.st/jquery/1.6.4/jquery.min.js" type="text/javascript"></script>
<script type="text/javascript">
function init(){
var myMap = new ymaps.Map ("map", {center: [55.76, 37.64],zoom: 11,behaviors: ['scrollZoom','drag']});
myMap.controls.add('mapTools').add('zoomControl').add('typeSelector').add('trafficControl');
var trafficControl = new ymaps.control.TrafficControl({providerKey: 'traffic#actual',shown: false,expanded: false});
myMap.controls.add(trafficControl);
trafficControl.getProvider('traffic#actual').state.set('infoLayerShown', true);
var o = [];
o.push(["Москва, ДОСФЛОТА ПР., 5","872"]);
o.push(["Москва, ДЕЖНЕВА ПР., 27 1","925"]);
o.push(["Москва, ЧЕРЕПАНОВЫХ ПР., 32","531"]);
o.push(["Москва, ДЕРБЕНЕВСКАЯ УЛ., 20 СТР 16","970"]);
var objects = ymaps.geoQuery(ymaps.geocode(o[0][0],{results:1}))
.add(ymaps.geocode(o[1][0],{results:1}))
.add(ymaps.geocode(o[2][0],{results:1}))
.add(ymaps.geocode(o[3][0],{results:1}));
objects.then(function()
{
c = 0;
var myClusterer = objects.clusterize({clusterDisableClickZoom: true,showInAlphabeticalOrder:true});
objects.each(function(res)
{
res.properties.set({clusterCaption:o[c][0],hintContent:o[c][0]});
res.options.set('draggable',true);
c +=1;
});
myMap.geoObjects.add(myClusterer);
/*objects.addToMap(myMap);*/
myMap.setBounds(objects.getBounds());
});
}
ymaps.ready(init);
</script>
</head>
<body>
<div id="map" style="width: 1696px; height: 954px"></div>
<div id="list"></div>
</body>
</html>

 

12 комментариев

Зачем Вам множественное геокодирование на клиенте?

а чем это плохо? все-таки переделывать на серверную часть?

С каждого клиента несколько http-запросов.

Медленно, расходует траффик и ненадежно.

Лучше на сервере один раз прогеокодировать через http-геокодер

 

У вас нет ссылки на страницу, чтобы посмотреть, в чем баг?

Еще можно подключить апи в режиме debug и посмотреть, в каком методе падает

Может быть потому что по одному из запросов ничего не нашлось

нет, тогда просто бы зареджектился промис

ничего не нашлось - это не ошибка.

промис не реджектится в этом случае 

при этой ошибке все-таки вылетает на реджект

Ссылки на страницу пока нет, тестим локально еще. Вроде адрес находит, не всегда такое бывает

дайте запросы на которых бывает, мы посмотрим

Там есть ограничение на количество запросов? Тоесть по количеству .add. Вообще я думал это как-то одним запросом много адресов можно кодировать. Я так понимаю чем больше делать, тем чаще эта ошибка...

Каждый адрес - отдельный запрос, наш геокодер не умеет обрабатывать множественные запросы