Клуб API Карт

Проблемы с отображением description в балуне

homez386
1 февраля 2012, 19:54

Всем привет!

По работе мне нужно доработать сайт оператора такси в Санкт-Петербурге, приаттачив к форме заказа Яндекс-карту, с тем, чтобы точки поездке можно было выбирать и на ней. Карта должна быть синхронизирована с форомой: ввел адрес в форме - он появляется на карте, отметил точку на карте - соответствующий адрес появляется в форме.

Пока я работаю над отображением адресов из формы на карте, они появляются там со значками A, B, C и т.д., по порядку соответствующим точкам поездки, включая возможные промежуточные. Отмечать самому точки на карте тоже можно, но это пока не пропогируется в форму, и значок ставится без буквы.

Столкнулся с проблемой некорректного отображения балуна. Вот код добавления точки по клику на карте:

 point[0] = new YMaps.Placemark(myp, {style: style[0]}
 point[0].name = 'Адрес';
 point[0].description = mytext;    
 map.addOverlay(point[0]
 alert(point[0].description);

 Здесь описание - это адрес точки маршрута. Я беру адрес, возвращенный геокодером и делаю некоторые замены. Например, дом на Балтийской улице должен отображаться так:

С-Пб, Балтийская, 17

Когда я щелкаю по маркеру и открывается балун, то отображается так:

Адрес

С-Пб, Балтийская,

Номер дома куда-то пропадает! Как видите, я сделал алерт для description, адрес выводится в сообщении полностью. Интересно то, что если номер дома по этой улице состоит из одной цифры, то в балуне адрес выводится правильно. Также если пощелкать по другим улицам, то адреса тоже выводятся полностью. Может, где-то и есть такой же глюк, но я еще таких улиц назвать не могу, где бы мне такое встречалось. Улица что ли такая заколдованная?

Тоже происходит и при добавлении адрема через форму.

Я пробовал менять maxWidth и maxHeight в baloonOptions - видно, что эти опции действуют для "длинных" адресов. Но для Балтийской ничего не поменялось.

В чем может быть причина?

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

без ссылки на страницу ничего не понятно

хорошо, дам ссылку: http://test.robocab.ru/index.php?link=order

Автокомплит еще на этой странице не работает, так как еще не сделаны изменения для mod_rewrite, я ведь буквально выложил сайт на тестовый сервер меньше часа назад. Но точки на карте отмечать можно, проверьте такие адреса как Автовская, 21 или Балтийская, 21. Для не питерских, может, сразу и не найти, но может, подобное будет и на других улицах.

Странно, сейчас mod_rewrite поправили, можно тестить на полную. Этого глюка почему-то на сервере не наблюдается. С чем это может быть связано?

Таким образом, вопрос уже не очень актуальный, но все-таки хотелось бы знать, как эту проблему решить на домашнем компьютере. Ведь разработку я веду на нем, мне несподручно всякий раз обновлять скрипты на сервере.

у вас в коде какие-то дикие замены слова "улица"

то с запятой впереди, то сзади.

Лучше конечно так не делать.

Если Вас не устраивает содержание поля text

лучше сформировать свое описание объекта на основании полей  AddressDetails

Мм, буду знать, спасибо! Но пока и этот метод работает, менять и не буду. Но как только что-то не устроит в формировании этой строки, буду знать, как поступить. Еще раз спасибо!

Но проблемы такой способ все равно не решает, думаю, так как картам ж не важно, как формируется строка с deacription, важна сама строка. А я алертами все description проверял, они нормальные!