【问题标题】:Get list of Local Businesses using Bing Maps Search service API使用 Bing 地图搜索服务 API 获取本地企业列表
【发布时间】:2014-03-27 15:37:34
【问题描述】:

我正在开发一个 Windows Phone 7 Silverlight 应用程序,该应用程序当前显示一个地图,通过从位置服务获取坐标来向用户显示他们所在的位置。我可以使用 bing 反向地理编码 API 获取地址。

我想通过在地图上放置图钉向用户显示可能不感兴趣的本地企业。但是我无法从Search Service API 获得任何搜索结果。无论我输入什么,我都会得到 0 个结果,并且我发现缺少文档。我试过关注这个example,但对过滤器参数的描述很少。

我目前拥有的:

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 个结果。

有什么想法吗?

【问题讨论】:

    标签: windows-phone-7 bing-maps bing-api


    【解决方案1】:

    我最终使用了来自 Google 本地搜索的结果,它产生了非常棒的结果,并且您可以提供准确的地理位置来指定要搜索的区域。

    以防以后对其他人有用,我使用Google API for .net 调用 google 服务,然后在 silverlight Bing 地图控件上显示点。

    【讨论】:

    • 我有完全相同的问题(澳大利亚的结果为 0),并以相同的方式修复。不过有点可惜。如果可以的话,我真的很想使用 Bing。
    • 两个平台都不允许您混合它们的内容。因此,Google 和 Bing 都不允许在 Bing 地图控件上使用 Google 结果。请参阅 Google 和 Bing 的使用条款。
    • @NicolasBoonaert 公平点。在这篇文章发布后的 4 年里,Bing 的 API 很有可能已经改进,或者可能会出现开源替代方案。
    【解决方案2】:

    我知道 Bing 地图上的 Wp7 本地商户搜索仅限于美国。事实上,我住在加拿大,结果毫无用处,除非您在“设置”图块的“区域”屏幕中更改“浏览器和搜索语言”的本地设置,如下所述:

    “Bing 地图在查找本地结果时遇到问题‏”

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

    也许 WS API 有一些相同的限制?

    【讨论】:

    • 感谢您为我指明正确的方向。看来,如果我把网撒得很宽,我就能得到搜索结果。例如 200 英里半径范围内的 10 家酒店 - 对我的需求不太有用。
    【解决方案3】:

    您有几个选项来本地化 Bing 搜索 SOAP API 的结果,即:

    1. RequestBase.Culture 属性设置为en-GB
    2. 从以前的GeocodeResult 设置BoundingAreaGeocodeLocationSearchRegion 类属性

    如果您使用Bing API v2 中的Phonebook SourceType,您可以尝试将SearchRequest.Market 属性设置为适当的文化代码。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-04-09
      • 2016-03-05
      • 1970-01-01
      • 1970-01-01
      • 2011-03-29
      • 2020-02-09
      • 1970-01-01
      相关资源
      最近更新 更多