[英]How to to try geocoding using Bing map rest APi . Post method
[英]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.