Я использую googlemaps apis для получения имени местоположения, используя lat и long, предоставленные пользователем, он работает на локальной машине, но проблема в том, что он не работает при развертывании приложения.Это дает нулевое исключение, вот мой код.
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, когда приложение развернуто.
Ниже приводится стек, который я получаю
на Offey.services.UtilityHelper.GeoAddressUtilHelper.GETGoogleAddress (Double lat, Double longi)
Тип исключения
NullReferenceException
Сообщение об исключении
Ссылка на объект не установлена на экземпляр объекта.