Клуб API Карт

Поиск организаций находящихся в доме

BrightGenie
20 июля 2015, 14:20

Пытаюсь использовать API Геопоиска чтобы как на вашей (maps.yandex.ru) карте кликнув по карте и в контекстном меню выбрав "Что здесь" узнать не только адрес, но и организации находящиеся в этом доме.

Например возьмем Органный зал в Перми:

 https://maps.yandex.ru/50/perm/?ll=56.234366%2C58.010709&z=18&whatshere%5Bpoint%5D=56.232934%2C58.011212&whatshere%5Bzoom%5D=18 

Хотим получить информацию аналогичную информацию кликнув по карте в моем пример.

Пытался искать указывая координаты [56.232934,58.011212]:

 https://search-maps.yandex.ru/v1/?text=56.232934,58.011212&type=biz&lang=ru_RU&apikey=API_KEY 

Ничего не находим:
{"type":"FeatureCollection","properties":{"ResponseMetaData":{"SearchRequest":{"request":"56.232934,58.011212","results":10,"skip":0,"boundedBy":[[37.048426749999997,55.436448290000001],[38.175902260000001,56.046901239999997]]},"SearchResponse":{"found":0,"display":"multiple"}}},"features":[]}
Если искать по адресу 'Россия, Пермь, улица Ленина, 51Б' (полученому с помощью ymaps.geocode(coords)):
 https://search-maps.yandex.ru/v1/?text=%D0%A0%D0%BE%D1%81%D1%81%D0%B8%D1%8F,%20%D0%9F%D0%B5%D1%80%D0%BC%D1%8C,%20%D1%83%D0%BB%D0%B8%D1%86%D0%B0%20%D0%9B%D0%B5%D0%BD%D0%B8%D0%BD%D0%B0,%2051%D0%91&lang=ru_RU&type=biz&apikey=API_KEY 
Тоже ничего не находим:
{"type":"FeatureCollection","properties":{"ResponseMetaData":{"SearchRequest":{"request":"Россия, Пермь, улица Ленина, 51Б","results":10,"skip":0,"boundedBy":[[37.048426749999997,55.436448290000001],[38.175902260000001,56.046901239999997]]},"SearchResponse":{"found":0,"display":"multiple"}}},"features":[]}
Если же указывать не полный адрес(только улицу и номер дома), тогда нужна привязка к текущему местоположению, можно взять текущий центр карты:
 https://search-maps.yandex.ru/v1/?text=%D1%83%D0%BB%D0%B8%D1%86%D0%B0%20%D0%9B%D0%B5%D0%BD%D0%B8%D0%BD%D0%B0,%2051%D0%B1&lang=ru_RU&type=biz&ll=56.234366,58.010709&spn=0.03,0.03&rspn=1&apikey=API_KEY 
В результате получаем:
{"type":"FeatureCollection","properties":{"ResponseMetaData":{"SearchRequest":{"request":"улица Ленина, 51б","results":10,"skip":0,"boundedBy":[[56.219364239999997,57.995704570000001],[56.249367970000002,58.025704349999998]]},"SearchResponse":{"found":0,"Point":{"type":"Point","coordinates":[56.234366000000001,58.010708999999999]},"boundedBy":[[56.219364239999997,57.995704570000001],[56.249367970000002,58.025704349999998]],"display":"multiple"}}},"features":[]}
Опять ничего.
Что я делаю не так?
Если искать театры, кинотеатры или какие-нибудь кафе, то ищет замечательно в указанном месте (ll=56.234366,58.010709&spn=0.03,0.03&rspn=1), а если искать организации по конкретному адресу то ничего.
11 комментариев
Подписаться на комментарии к посту

А может порядок координат перепутали?

Пробовали так 58.011212,56.232934?

пробовал. не помогло.

но все-таки порядок координат правильный в примере описан. такой же как пишется в урле когда работаешь с maps.yandex.ru.

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

Кстати пример из документации с поиском по адресу (text=Санкт-Петербург, ул. Блохина, 15) возвращает результаты, но какие-то странные:

 https://search-maps.yandex.ru/v1/?text=Санкт-Петербург,%20ул.%20Блохина,%2015&results=3&lang=ru_RU&type=biz&apikey=API_KEY 

Ограничил поиск тремя результатами. Вот что получилось:

{"type":"FeatureCollection","properties":{"Attribution":{"Sources":{"yandex":{"id":"yandex","author":{"name":"Яндекс","uri":"http:\/\/www.yandex.ru"}}}},"ResponseMetaData":{"SearchRequest":{"request":"Санкт-Петербург, ул. Блохина, 15","results":3,"skip":0,"boundedBy":[[37.048426749999997,55.436448290000001],[38.175902260000001,56.046901239999997]]},"SearchResponse":{"found":11,"Point":{"type":"Point","coordinates":[30.33102268,59.882446360000003]},"boundedBy":[[30.262301560000001,59.858873260000003],[30.3997438,59.90600268]],"display":"multiple"}}},"features":[{"type":"Feature","properties":{"CompanyMetaData":{"id":"1011378944","name":"БиК-Санкт-Петербург","nameHighlight":[[4,9],[10,19]],"address":"Санкт-Петербург, ул. 2-й Луч, 13","addressHighlight":[[0,5],[6,15],[17,19]],"url":"http:\/\/bik.spb.ru","Categories":[{"name":"Дорожно-строительная техника"},{"name":"Городское благоустройство"},{"name":"Тротуарная плитка"}],"Phones":[{"type":"phone","formatted":"+7 (812) 325-12-01","country":"7","prefix":"812","number":"3251201"},{"type":"phone","formatted":"+7 (812) 325-12-02","country":"7","prefix":"812","number":"3251202"},{"type":"phone","formatted":"+7 (812) 325-12-03","country":"7","prefix":"812","number":"3251203"},{"type":"fax","formatted":"+7 (812) 325-12-04","country":"7","prefix":"812","number":"3251204"}],"Hours":{"Availabilities":[{"Monday":true,"Tuesday":true,"Wednesday":true,"Thursday":true,"Friday":true,"Intervals":[{"from":"09:00:00","to":"18:00:00"}]}],"text":"пн-пт 9:00–18:00","tzOffset":10800},"Geo":{"precision":"exact"},"Features":[{"id":"sale","type":"bool","name":"продажа","value":true},{"id":"production","type":"bool","name":"производство","value":true}]},"description":"Санкт-Петербург, ул. 2-й Луч, 13","name":"БиК-Санкт-Петербург","boundedBy":[[30.38952097,59.900867669999997],[30.40597811,59.909133840000003]],"attributions":["#yandex"]},"geometry":{"type":"Point","coordinates":[30.397749000000001,59.905003000000001]}},{"type":"Feature","properties":{"CompanyMetaData":{"id":"1014135678","name":"31 отдел полиции Кировского района г. Санкт-Петербурга","nameHighlight":[[38,43],[44,54]],"address":"Санкт-Петербург, ул. Севастопольская, 50","addressHighlight":[[0,5],[6,15],[17,19]],"url":"http:\/\/78.mvd.ru","Categories":[{"name":"Отделение полиции"}],"Chains":{"Chain":{"name":"Территориальные органы МВД России"}},"Phones":[{"type":"phone","formatted":"+7 (812) 252-07-02","country":"7","prefix":"812","number":"2520702"}],"Hours":{"Availabilities":[{"Everyday":true,"TwentyFourHours":true}],"text":"ежедневно, круглосуточно","tzOffset":10800},"Geo":{"precision":"exact"}},"description":"Санкт-Петербург, ул. Севастопольская, 50","name":"31 отдел полиции Кировского района г. Санкт-Петербурга","boundedBy":[[30.25605827,59.884311070000003],[30.27251541,59.892581380000003]],"attributions":["#yandex"]},"geometry":{"type":"Point","coordinates":[30.264286999999999,59.888446000000002]}},{"type":"Feature","properties":{"CompanyMetaData":{"id":"1180014003","name":"Магазин Top Hill Sport","address":"Санкт-Петербург, ул. Краснопутиловская, 69, БЦ Цитадель, эт. 2, оф. 214","addressHighlight":[[0,5],[6,15],[17,19]],"url":"http:\/\/www.tophillsport.ru","Categories":[{"name":"Спортивная одежда и обувь"},{"name":"Спортивный магазин"},{"name":"Спортивный инвентарь и оборудование"}],"Phones":[{"type":"phone","formatted":"+7 (812) 320-33-84","country":"7","prefix":"812","number":"3203384"},{"type":"phone","formatted":"+7 (812) 622-23-00","country":"7","prefix":"812","number":"6222300"}],"Hours":{"Availabilities":[{"Monday":true,"Tuesday":true,"Wednesday":true,"Thursday":true,"Intervals":[{"from":"10:00:00","to":"18:00:00"}]},{"Friday":true,"Intervals":[{"from":"10:00:00","to":"17:00:00"}]}],"text":"пн-чт 10:00–18:00; пт 10:00–17:00","tzOffset":10800},"Geo":{"precision":"exact"}},"description":"Санкт-Петербург, ул. Краснопутиловская, 69, БЦ Цитадель, эт. 2, оф. 214","name":"Магазин Top Hill Sport","boundedBy":[[30.279701930000002,59.855732830000001],[30.296159060000001,59.864010270000001]],"attributions":["#yandex"]},"geometry":{"type":"Point","coordinates":[30.287929999999999,59.859872000000003]}}]}

Т.е. это:

1. БиК-Санкт-Петербург (Санкт-Петербург, ул. 2-й Луч, 13);

2. 31 отдел полиции Кировского района г. Санкт-Петербурга (Санкт-Петербург, ул. Севастопольская, 50);

3. Магазин Top Hill Sport (Санкт-Петербург, ул. Краснопутиловская, 69, БЦ Цитадель, эт. 2, оф. 214);

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

ощущение что результаты возвращаются относительно ко всему Санкт-Петербургу, игнорируя адрес Блохина 15

будем смотреть, спасибо за сообщение

Буду ждать ответа, вопрос довольно актуальный
«Обратного геокодирования», т.е. вывода всех организаций в здании, в данный момент в API ППО нет. Мы думаем о добавлении этой функциональности, но не совсем понимаем, зачем.

Расскажите, пожалуйста, как вы хотите его использовать.

хотелось как на вашей карте по запросу пользователя (через контекстное меню, пункт "Что здесь") выводить не только адрес, но и организации находящиеся по этому адресу.

Спасибо огромное, так работает.

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

Спасибо!