我在我的项目中使用Subgurim GoogleMaps映射库。 Geocode
函数有时在服务器系统中不起作用,但相同的代码在localhost中工作正常。
我将纬度和经度转换为人类可读地址,但有时Geocode
状态返回500.代码为:
string sMapKey = ConfigurationManager.AppSettings["googlemaps.subgurim.net"];
GeoCode objAddress = new GeoCode();
objAddress = GMap.geoCodeRequest(new GLatLng(Convert.ToDouble(status.Rows[0]0]),Convert.ToDouble(status.Rows[0][1])),sMapKey);
StringBuilder sb = new StringBuilder();
if (objAddress.valid)
{
sb.Append(objAddress.Placemark.address.ToString());
string address = sb.ToString();
lblPlace.Text = address;
}
答案 0 :(得分:0)
最近API发生了一些变化(导致旧的V2 API调用无法使用),但是在库中安装最新版本(NuGet上的4.1.0.5或4.1.0.6)可以解决问题。
如果问题只出现在某些数据上,请告诉哪些是输入,以便正确复制和诊断。代码似乎没问题。
请记住,在使用localhost时,所有许可证检查机制都被禁用(我不确切地知道限制,但肯定与在命名域下使用API密钥时不一样)。这意味着可能问题在于许可证的限制。