我想根据Bing maps API中的一个点来获取国家和地区,我创建了一个试用公共Web密钥并使用它.... 但它得到了以下回应 **
“版权所有©2014 Microsoft及其供应商。保留所有权利。未经Microsoft Corporation明确书面许可,不得访问此API,且不得以任何方式使用,复制或传播内容和任何结果。”
** 当我在我的Chrome浏览器中输入URL时,我得到了正确的响应......但是在调试中我收到了该消息。
这是我的主要方法
try
{
Uri locationsRequest = CreateRequest(query,key);
Response locationsResponse = MakeRequest(locationsRequest);
ProcessResponse(locationsResponse);
}
catch (Exception e)
{
Console.WriteLine(e.Message);
Console.Read();
}
我的网址创建功能
public static Uri CreateRequest(string queryString, string BingMapsKey)
{
Uri UrlRequest = new Uri(string.Format("http://dev.virtualearth.net/REST/v1/Locations?q={0}&key={1}", queryString, BingMapsKey));
return (UrlRequest);
}
和我的ersponse功能
public static Response MakeRequest(Uri requestUrl)
{
try
{
HttpWebRequest request = WebRequest.Create(requestUrl) as HttpWebRequest;
using (HttpWebResponse response = request.GetResponse() as HttpWebResponse)
{
if (response.StatusCode != HttpStatusCode.OK)
throw new Exception(String.Format(
"Server error (HTTP {0}: {1}).",
response.StatusCode,
response.StatusDescription));
DataContractJsonSerializer jsonSerializer = new DataContractJsonSerializer(typeof(Response));
object objResponse = jsonSerializer.ReadObject(response.GetResponseStream());
Response jsonResponse
= objResponse as Response;
return jsonResponse;
}
}
catch (Exception e)
{
Console.WriteLine(e.Message);
return null;
}
}
答案 0 :(得分:0)
我知道这有点晚了。但我遇到了同样的问题,我找到的解决方案不是代码,而是数据。与发送到Bing Maps的VirtualEarth URL结合使用时,请确保您的queryString是有效的URL。