Я хочу отображать значения широты и долготы в 2 текстовых полях, когда пользователь вводит свой адрес в виде улицы, города, штата и почтового индекса. Я использую геокодер Google.
Я использовал следующий код при нажатии кнопки:
protected void BtnShow_Click(object sender, EventArgs e)
{
GetLatLongFromAddress(TxtStreet.Text, TxtCity.Text, TxtZipcode.Text, TxtState.Text);
}
private void GetLatLongFromAddress(string street, string city, string zipcode, string state)
{
string geocoderUri = string.Format(@"http://maps.googleapis.com/maps/api/geocode/xml?address={0},{1},{2},{3}&sensor=false", street, city, zipcode, state);
XmlDocument geocoderXmlDoc = new XmlDocument();
geocoderXmlDoc.Load(geocoderUri);
XmlNamespaceManager nsMgr = new XmlNamespaceManager(geocoderXmlDoc.NameTable);
nsMgr.AddNamespace("geo", @"http://www.w3.org/2003/01/geo/wgs84_pos#");
string sLong = geocoderXmlDoc.DocumentElement.SelectSingleNode(@"geo:long", nsMgr).InnerText;
string sLat = geocoderXmlDoc.DocumentElement.SelectSingleNode(@"//geo:lat", nsMgr).InnerText;
TxtLatitude.Text = sLat;
TxtLongitude.Text = sLong;
}
Но он получает значение переменной sLong как ноль и показывает ошибку
"Object reference not set to an instance of an object."
Как я могу это сделать?
в ожидании ответа ...
спасибо ..