簡體   English   中英

如何使用BING REST Api

[英]How to work with the BING REST Api

您如何使用BING REST api(特別是ROUTES部分)在ASP.NET中獲得行駛距離。

我已經在Google上搜索了很多答案,但都沒有找到答案。

我發現了網址字符串,例如:

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);
    }

這是“發出Web請求的通用方法”。 但是,又如何稱呼它呢? 我發現它不需要返回類型令人困惑。

為了調用它,我發現了如下代碼:

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的新手,根本沒有任何在線文檔的幫助。

ps我確實有一個BING 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();
    });

}

引用另一個stackoverflow問題:


您正在使用的文檔的底部指向您需要的REST服務所需的數據合同,這些合同可在此處找到: http : //msdn.microsoft.com/zh-cn/library/jj870778.aspx

只需創建一個空的C#文件並粘貼在C#數據合同中即可。 然后將名稱空間添加到此類:

using BingMapsRESTService.Common.JSON;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM