如何使用必应 REST API

本文关键字:REST API 何使用 | 更新日期: 2023-09-27 17:57:24

您究竟如何使用 BING REST api(特别是 ROUTES 部分)来获取 ASP.NET 行驶距离。

我已经在谷歌上上下搜索了这个答案,但没有一个即将出现。

我找到了网址字符串,例如:

http://dev.virtualearth.net/REST/v1/Routes/Driving?waypoint.0=redmond&heading=90&waypoint.1=seattle&du=mi&key=BingMapsKey

真棒!但是如何从ASP中调用它呢?

我还找到了这段代码:

 private void GetResponse(Uri uri, Action<HttpResponse> callback)
    {
        WebClient wc = new WebClient();
        wc.OpenReadCompleted += (o, a) =>
        {
            if (callback != null)
            {
                DataContractJsonSerializer ser = new DataContractJsonSerializer(typeof(HttpResponse));
                callback(ser.ReadObject(a.Result) as HttpResponse);
            }
        };
        wc.OpenReadAsync(uri);
    }

这是一种"发出网络请求的通用方法"。但是,再说一遍,你怎么称呼它?我发现它不需要返回类型令人困惑。

为了调用它,我找到了这样的代码:

string key = "YOUR_BING_MAPS_KEY or SESSION_KEY";
    string query = "1 Microsoft Way, Redmond, WA";
    Uri geocodeRequest = new Uri(string.Format("http://dev.virtualearth.net/REST/v1/Locations?q={0}&key={1}", query, key));
    GetResponse(geocodeRequest, (x) =>
    {
        Console.WriteLine(x.ResourceSets[0].Resources.Length + " result(s) found.");
        Console.ReadLine();
    });

但是当我把它添加到项目中时,我会看到阳光下的每一个错误。所以,我被困住了。

我是一个完全的ASP初学者,根本没有找到任何在线文档的任何帮助。

附言我确实有一个 BING api 密钥,并在上面的代码中使用它。

如何使用必应 REST API

我不是这方面的专家,但下面为我编译。此外,请确保添加 BING 文档中提到的数据构造:

protected void Page_Load(object sender, EventArgs e)
{
    string key = "YOUR KEY";
    string query = "ADDRESS";
    Uri geocodeRequest = new Uri(string.Format("http://dev.virtualearth.net/REST/v1/Locations?q={0}&key={1}", query, key));
    GetResponse(geocodeRequest, (x) =>
    {
        Console.WriteLine(x.ResourceSets[0].Resources.Length + " result(s) found.");
        Console.ReadLine();
    });
}

引用另一个堆栈溢出问题:


您正在使用的文档的底部指向 REST 服务所需的数据协定,这些协定可在此处获得:http://msdn.microsoft.com/en-us/library/jj870778.aspx

只需创建一个空的 C# 文件,然后粘贴到 C# 数据协定中即可。然后将命名空间添加到此类:

using BingMapsRESTService.Common.JSON;