Клуб API Карт

Вопрос общего Хар-ра по яндекс картам

copyman1989
25 июня 2013, 17:59

имеется текстовое поле на сайте. оно одно. и внем много инфы. пример поля


ПАНТЕРА-СТОМАТОЛОГИЧЕСКИЙ ЦЕНТР ООО
* Телефон: +7(495) 9810079 begin_of_the_skype_highlighting +7(495) 9810079 end_of_the_skype_highlighting
* Факс: +7(495) 9810079
* Адрес: Москва, Маршала Жукова проспект, д. 38/1
* Метро: • Октябрьское Поле
* Рубрики: Медицинские центры
* Стоматология - лечение, протезирование
* Вебсайт: http://www.stomcentr.ru

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

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

Вопрос звучит так, сможет ли АПИ яндекс карт в куче текста выбрать адрес и отобразить его на карте.
Регион Москва.

12 комментариев
Подписаться на комментарии к посту
см. геокодирование
http://api.yandex.ru/maps/doc/jsapi/2.x/dg/concepts/geocoding.xml
Адрес Вам нужно выделить из вашего текста и передать в геокодер.
да в том то и дело. что выделять адрес не получится.. т.к. там 37 тыс вот таких вот описаний, многие из них разные.. где то адрес вверху, где то внизу, где то есть слово адрес, где то нету...
геокодер сам это за вас не сделает

Есть же общие правила хоть какие-то для адреса ? Типа "д. " или "Москва," ? Вот по ним и выделять. А ещё лучше выделить отдельное поле для адреса в базе, перегнать все адреса туда скриптом, а уже от туда брать

Я изначально планировал адрес в отдельное поле запихать. но шаблоны текстов оказались настолько разнообразные, что придумать как вытащить адрес я не могу.

примеры, которые я нашел за 2 мин. а из 37 тысяч их я думаю больше будет

Адрес:
Волгоградский пр-т, д. 26
Метро:
Волгоградский проспект
Телефон:
(095) 270-11-10
-----------------------------------
Волгоградский просп., д. 26, т. +7(495) 670-9070
------------------------------------
Simple Pleasures

Москва, ул. Сретенка, 22/1
(495) 607-1521
с 12.00 до 06.00
Wi-Fi, еда на вынос, караоке-холл, парковка, принимаются кредитные карты
Кухня: европейская, русская, японская
---------------------------------------
1.Б.Якиманка,22
2. 8(495)7866236
3. чт-сб 11:00-06:00, вс-ср 11:00-02:00
4. Кухня: Европейская, Японская, Индийская, Мясная, Фьюжн,Русская, Домашняя
----------------------------
м. Белорусская, 1-я Тверская-Ямская, 29
Телефон: (495) 665-08-86

www.lepeshka-cafe.ru

пон-ср с 10.00-24.00, чт-суб. с 10.00- 06.00,
вс с 10.00-24.00

Wi-Fi
Предложения: Мангал, тандыр, суши и роллы, разливное пиво, бронирование, Карта вин, коктейльная карта, еда на вынос, кальян
Особенности: 3 зала, плазмы, диваны, музыкальный фон - Dj.
Скидки: 10% владельцам дисконтных карт
Средний чек: 600 р.
Вместимость: Зал рассчитан на 160 посадочных мест
Тип оплаты: MasterCard, Eurocard, Visa, Union, Diners Club, Maestr

мда. Печально. Могу посоветовать только скриптом перегонять адрес в отдельное поле в базу, помечая те записи, в которых адрес не найден и...вручную дальше :-)

Можно свести к минимуму ручную конвертацию, но с таким заполнением полностью отказаться от неё видимо не получится

поучите регулярные выражения и с помощью них выделяйте из текста адрес

 

а на самом то деле если у вас все записи по одному шаблону, то:

http://jsfiddle.net/CostaConquesta/kgLve/

 

в том то и проблема что не по одному.. если бы так - проблем бы не возникло.
Дело в том что я не знаю сколько шаблонов вывода. если бы знать то написать 5-6 регулярок не проблема. а вот незная, я могу потеряьб значительную часть базы..

я впринципе то чего написал. если вставить весь этот текст - в строку поиска адреса на яндекс картах - то он каким то образом выделяет из каши текста адрес - и ставит метку.

Адрес это всегда Адрес.

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

В общем поиск подстроки в строке.

Решается в лоб ценой большой боли CPU, но решается и без особых проблем.

Ну так получается нужно с чем то сравнивать, как скрипт узнает что слово новомосковская - это улица ??

или я чего то не понимаю ?

Скрипту то без проблем заматчить слово новомосковская как улицу, и проезд авиаторов тоже без проблем.

А вот Владимир Владимирович Путин смотрел на парадный проезд танковых частей в городе Зима - вот это АД.

Владимир - город, Зима - город, парадный проезд - улица в Подольске и тд.