我正在尝试使用Geocoding.net将我的纬度和经度地理编码为格式化地址。 我想要一个来自MapQuest的地址,而不是来自Yahoo,google和bing等其他提供商的地址。 这是我的代码:
try
{
IGeocoder geocoder = new MapQuestGeocoder("Fmjtd%7Cluu82q6***********");
var addresses = geocoder.ReverseGeocode(latitude, longitude);
return ("Formatted address : " + addresses.First().FormattedAddress);
}
catch (Exception exception)
{
return exception.Message;
}
此代码捕获异常并且发出此错误"此密钥未获得此服务的授权。"
我知道当我尝试使用地理编码器的企业API时出现此错误,即http://www.mapquestapi.com/geocoding/v1/reverse?key= *******************
对于免费和开源使用,我应该点击这个API:
http://open.mapquestapi.com/geocoding/v1/address?key=YOUR-KEY-HERE
我该怎么做?有没有在构造函数本身传递POST URL的选项?或者其他任何方式?
答案 0 :(得分:2)
扫描Geocoding.net的开源代码,看起来您只需要将地理编码器对象的“UseOSM”属性设置为true:
geocoder.UseOSM = true;
答案 1 :(得分:0)
很简单。您无需更改URL。只需像这样添加UseRS = true:
try
{
IGeocoder geocoder = new MapQuestGeocoder("Fmjtd%7Cluu82q6***********"){UseOSM = true};
var addresses = geocoder.ReverseGeocode(latitude, longitude);
return ("Formatted address : " + addresses.First().FormattedAddress);
}
catch (Exception exception)
{
return exception.Message;
}