Получить список местных предприятий с помощью API сервиса поиска карт Bing - PullRequest
2 голосов
/ 07 декабря 2010

Я занимаюсь разработкой приложения для Windows Phone 7 Silverlight, которое в настоящее время отображает карту, показывающую, где пользователь находится, получая координаты от служб определения местоположения. Я могу получить адрес с помощью API обратного геокодирования bing.

Я хотел бы отобразить местные предприятия для пользователей, которые могут быть не заинтересованы, разместив кнопки на карте. Однако я не могу получить никаких результатов поиска из API службы поиска . Что бы я ни ввел, я получаю 0 результатов, и мне не хватает документации. Я попытался следовать этому примеру , но приведено очень небольшое описание параметров фильтра, например.

Что у меня сейчас есть:

StructuredSearchQuery query = new StructuredSearchQuery();
        query.Keyword = "Petrol Station";
        query.Location = "New Road, Belper DE56 1";

        searchRequest.SearchOptions = new SearchOptions();
        searchRequest.SearchOptions.Filters =
        new FilterExpression()
        {
            PropertyId = 1,
            CompareOperator = CompareOperator.Equals,
            FilterValue = 11199
        };

        SearchServiceClient searchServiceClient = new SearchServiceClient();
        searchServiceClient.SearchCompleted += new EventHandler<SearchCompletedEventArgs>(searchServiceClient_SearchCompleted);
        searchServiceClient.SearchAsync(searchRequest);


        void searchServiceClient_SearchCompleted(object sender, SearchCompletedEventArgs e)
        {
            SearchResponse searchResponse = e.Result;
        }

Я бы предпочел использовать точное местоположение в поиске, используя координаты, которые я получил, но не вижу как. Насколько я могу судить, мой поиск должен возвращать все компании категории 11199 (бары и таверны), но в любом месте, где я вхожу, я получаю 0 результатов.

Есть идеи?

Ответы [ 3 ]

3 голосов
/ 09 декабря 2010

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

В случае, если позже кому-нибудь будет полезно, я использовал Google API для .net , чтобы позвонить в службу Google и затем отобразить точки на элементе управления Bing в Silverlight.

1 голос
/ 08 декабря 2010

Я знаю, что поиск по местному бизнесу на Bing Maps для Wp7 ограничен США.На самом деле я живу в Канаде, и результаты бесполезны, за исключением случаев, когда вы меняете свои локальные настройки для «браузера и языка поиска» на региональном экране плитки «Настройки», как описано здесь:

«Проблемы с Bing Mapsпоиск локальных результатов "

http://social.answers.microsoft.com/Forums/en-US/windowsphone7/thread/d1f0ce7f-464f-4804-9c61-48cec47fe518/

может быть, WS API имеет некоторые ограничения?

0 голосов
/ 29 марта 2012

У вас есть несколько вариантов локализации результатов API Bing Search SOAP, а именно:

  1. Установите для свойства RequestBase.Culture значение en-GB
  2. Установите свойства класса SearchRegion равными BoundingArea или GeocodeLocation из предыдущего GeocodeResult

Если вы используете Phonebook SourceType из Bing API v2 , вы можете попробовать установить для свойства SearchRequest.Market соответствующий код культуры.

...