Карты сами работают, но не работает поиск.
Вот код:
<META http-equiv="Content-Type" content="text/html">
<META http-equiv="X-UA-Compatible" content="IE=7">
<SCRIPT src="http://api-maps.yandex.ru
<SCRIPT type="text/javascript">
window.onload = function () {
var map = new YMaps.Map(document.getElementById("YMapsID"));
map.setCenter(new YMaps.GeoPoint( 47.24, 56.14 ), 12, YMaps.MapType.MAP);
map.addControl(new YMaps.TypeControl(), new YMaps.ControlPosition(YMa
map.addControl(new YMaps.Zoom());
};
function showAddress (value) {
// Удаляем все оверлеи
map.removeAllOverlays();
// Запускаем процесс геокодирования
var geocoder = new YMaps.Geocoder(value, {results: 1, boundedBy: map.getBounds()});
YMaps.Events.observe(geocoder, geocoder.Events.Load, function () {
//Если поиск прошел без ошибок и найден хотя бы один результат
if (this.length()) {
// Добавляем оверлей на карту
map.addOverlay(this.get(0));
this.get(0).setBalloonContent(this.get(0).text);
// Открываем балун
this.get(0).openBalloon();
}else {
alert("Ничего не найдено")
}
});
// Если при геокодировании произошла ошибка, то сообщаем о ней
YMaps.Events.observe(geocoder, geocoder.Events.Fault,
function (error) {alert("Произошла ошибка: " + error.message)});
}
</SCRIPT>
<DIV id="YMapsID" style="height:400px; width:600px;"></DIV>
<!-- Start Gem Insert your own HTML -->
<CENTER><DIV id="YMapsID" style="width:400px;height:500px"></DIV>
<FORM action="#" onsubmit="showAddress( this.address.value );return false;">
<P>
<INPUT id="address" style="width:725px;" value="Москва">
<INPUT type="submit" value="Искать">
</P>
<DIV id="YMapsID" style="height:200px; width:800px;"></DIV>
</FORM>
<A href="javascript:showAddress('Чебоксары, ул.Сверчкова, д.8')">Чебоксары, ул.Сверчкова, д.8</A>
<DIV>
При нажатии на кнопку "Искать" ничего не происходит, консоль выдаёт ошибку:
JavaScript - http://www.mysite.com/2009-05-29-13-17-25?
Event thread: submit
Error:
name: ReferenceError
message: Statement on line 12: Undefined variable: map
Backtrace:
Line 12 of inline#3 script in http://www.mysite.com/2009-05-29-13-17-25?: In function showAddress
map.removeAllOverlays();
Line 1 of function script
showAddress( this.address.value );return false;
...
stacktrace: n/a; see 'opera:config#UserPrefs|Exceptions Have Stacktrace'
Не работает поиск в Яндекс-картах
Пост в архиве.
9 июня 2009, 11:28