我正在使用googlemaps api通过用户提供的经纬度来获取位置名称,该位置在用户本地计算机上有效,但问题是在部署应用程序时它不起作用。它给出了空异常,这是我的代码。
public static string GETGoogleAddress(double lat, double longi)
{
string URL = "https://maps.googleapis.com/maps/api/geocode/json?latlng=" + lat + "," + longi+ "&key=AIza*****-Lyb****_********efVUW1o7B****";
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(URL);
try
{
WebResponse response = request.GetResponse();
using (Stream responseStream = response.GetResponseStream())
{
StreamReader reader = new StreamReader(responseStream, Encoding.UTF8);
JObject parseJson = JObject.Parse(reader.ReadToEnd());
var getJsonres2 = parseJson["results"][1];
var getAddress2 = getJsonres2["formatted_address"];
string _Address = getAddress2.ToString();
return _Address;
}
}
catch (WebException ex)
{
WebResponse errorResponse = ex.Response;
using (Stream responseStream = errorResponse.GetResponseStream())
{
StreamReader reader = new StreamReader(responseStream, Encoding.GetEncoding("utf-8"));
String errorText = reader.ReadToEnd();
// log errorText
}
throw;
}
}
我这样称呼这个实用程序助手
var _location = UtilityHelper.GeoAddressUtilHelper.GETGoogleAddress(model.Latitude??0, model.Longitude??0);
,它不会在生产中返回任何位置。部署应用程序后,它在本地但不能正常工作的Windows服务器上可以正常工作。
以下是我得到的stackTrace
在Offey.services.UtilityHelper.GeoAddressUtilHelper.GETGoogleAddress(Double lat,Double longi)
异常类型
NullReferenceException
异常消息
对象引用未设置为对象的实例。