Клуб API Карт

API 2.0 ошибка ymaps.geocode в IE9

Ser0ja
12 мая 2012, 16:38

Добрый день 

Ошибка: Не удалось получить значение свойства "geometry": значением объекта является NULL или он не определен

ymaps.ready(init);
function init(){
// Косяк с названием — Центр
ymaps.geocode('<?php echo str_replace(', Центр', '', $address);?>',{results:1}).then(function(res){
var firstGeoObject = res.geoObjects.get(0);
var coords = firstGeoObject.geometry.getCoordinates(
var myMap = new ymaps.Map('map',{center:firstGeoObject.geometry.getCoordinates(),zoom:1}
myMap.zoomRange.get(coords).then(function(range){myMap.setCenter(coords, range[1]-2)}
myMap.controls.add('smallZoomControl',{left:5,top:50}).add('mapTools');
myPlacemark = new ymaps.Placemark(firstGeoObject.geometry.getCoordinates(),{hasBalloon:false,hasHint:false},{iconImageHref: '<?php echo $SCLINK;?>images/house.png', iconImageSize: [15, 14], iconImageOffset: [-7, -14]}
myMap.geoObjects.add(myPlacemark);
}, function(err){alert(err.message);})
}

 

6 комментариев
Подписаться на комментарии к посту

если геокодер ничего не нашел, то откуда возьмется get(0) и его геометрия?

в опере находит адрес

ссылка для примера где заметил ошибку

http://labris-rzn.ru/predlogDB.php?realty=13&object=sale.1&guid=eaa93522-394b-44eb-b775-667dceade9e1 

 

кажется, намудрили вы там с этими str_replace-ами

и на вашей странице рязанская область в запросе 2 раза идет

 

ymaps.geocode('Рязанская область, Рязанская обл, г. Рязань, Д-П, ул. Зубковой',{results:1}).then(...

 

вам надо проверять что нулевой индекс есть, а его может и не быть,

например, если геокодер ничего не нашел, или если произошла ошибка.

заверните следующий за этим код в if

 

var firstGeoObject = res.geoObjects.get(0);
if(firstGeoObject) {
var coords = firstGeoObject.geometry.getCoordinates();
...



 

 

проверка это хорошо. поправил.

но в IE9 не находит адрес (любой адрес) всё равно.