Клуб API Карт

Заголовок не указан

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

Здравствуйте!

У нас поменялись поля в базе данных и пропала карта.

Ранее выход был прописан так:

$requesturl = 'http://geocode-maps.yandex.ru/1.x/?geocode='.urlencode($myrow3["address"]).'&key='.urlencode($apikey).'&results=1';


а сейчас вместо $myrow3["address"] - мы заменили на $myrow3["street"]

 и прописываем так

$requesturl = 'http://geocode-maps.yandex.ru/1.x/?geocode='.urlencode($myrow_region["name"].$myrow_area["name"].$myrow_town["name"].$myrow3["street"]).'&key='.urlencode($apikey).'&results=1';

где myrow_region - регион

не правильно показывает город.
11 комментариев

выложите лучше то что выводится в html в результате этих гениальных пэхапэ трансформаций.

Александр
28 января 2016, 02:33

Предполагаю у Вас получается так "РоссияКалужская областьКалуга"

Владислав Турман
28 января 2016, 02:33

и еще там улица тоже добавляется и тоже ни запятой ни пробела. А геокодер с такой задачей не справится ? ;)

1. геокодер в принципе может и не найти ничего и этот кейс надо как то обрабатывать (показывать координаты по-умолчанию)

2. геокодировать на клиенте всегда хуже чем делать это на сервере. пользователи не радуются от того что тратят лишний траффик и теряют время на ожидание ответа. Если конечно вам на них не наплевать

и как код прописать?

код чего?

геокодируете на сервере все свои объекты и сохраняете координаты в базу.

а в броузер отдаете уже координаты, - профит ввиде отсутствия лишних запросов и повышение скорости сайта

 

лучше на карту взгляните http://www.11klassniki.ru/post_pu.php?id_pu=2

там явно не Оскол должен быть.

в код внес пробелы

$requesturl = 'http://geocode-maps.yandex.ru/1.x/?geocode='.urlencode($myrow_region["name"]. $myrow_area["name"]. $myrow_town["name"]. $myrow3["street"]).'&key='.urlencode($apikey).'&results=1';

но ситуация не поменялась.

ваш запрос к геокодеру состоит из одной улицы

"ул. Коммунистическая, 37" 

вы ее и получаете

т.е поулчается срабатывает на $myrow3["street"])


а как же остальное $myrow_area["name"].$myrow_town["name"]

не знаю у меня нет вашей базы. я вижу только то что в результате появляется на странице

подскажите, где ошибка в этом запросе

$requesturl = 'http://geocode-maps.yandex.ru/1.x/?geocode='.urlencode($myrow_region["name"]. $myrow_area["name"]. $myrow_town["name"]. $myrow3["street"]).'&key='.urlencode($apikey).'&results=1';