0

我在我的项目中使用 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;
}
4

1 回答 1

0

最近 API 发生了一些变化(导致旧的 V2 API 调用无法使用),但安装库的最新版本(NuGet 上的 4.1.0.5 或 4.1.0.6)应该可以解决问题。

如果问题仅发生在某些数据上,请说明哪些是输入,以便可以正确复制和诊断。代码似乎没问题。

请记住,使用 localhost 时,所有许可证检查机制都被禁用(我不知道确切的限制,但肯定与在命名域下使用 API 密钥时不同)。这意味着问题可能出在许可证的限制上。

于 2013-04-29T20:52:48.850 回答