Я работаю в С# .Net. Мое требование - получить широту и долготу от API на основе адреса, города, штата и почтового индекса, которые были указаны в качестве параметра.
У меня есть информация о 350 магазинах на листе Excel. Первоначально я использовал Google API.
if (strAdd != "" && strCity != "" && strState != "" && strZip != "" && strStoreNo != "")
{
Address = strAdd.Trim() + "," + strCity.Trim() + "," + strState.Trim() + "," + strZip.Trim();
string routeReqUrl = "http://maps.google.com/maps/geo?q={0}&output=xml&oe=utf8&sensor=true_or_false&key={1}";
string url = string.Format(routeReqUrl, Address.Replace(' ', '+'), "ABQIAAAA5rV-auhZekuhPKBTkuTC3hSAmVUytQSqQDODadyYeWY4ZYaVyRRv4thyrzzOQ7AMUl_hIjoG8LomGA");
HttpWebRequest req = (HttpWebRequest)WebRequest.Create(url);
req.Method = "GET";
HttpWebResponse resp = (HttpWebResponse)req.GetResponse();
Stream respStream = resp.GetResponseStream();
XmlDocument xDoc = new XmlDocument();
xDoc.Load(respStream);
if (xDoc.GetElementsByTagName("coordinates")[0].InnerText.Contains(","))
{
string[] coordinates = xDoc.GetElementsByTagName("coordinates")[0].InnerText.Split(',');
string Latitude = coordinates[1];
string Longtitude = coordinates[0];
Logger.Log.Debug("[Latitude and Longitude] " + " Store - No " + strStoreNo + " Addr Line 1 " + strAdd + " Latitude " + Latitude + " Longitude " + Longtitude);
}
}
В приведенном выше коде только для 10–15 магазинов я могу получить данные о широте и долготе. После этого я получаю ошибку ссылки на объект в "(xDoc.GetElementsByTagName("координаты")[0]..........".
После этого я попробовал использовать Yahoo API, я использую тот же лист Excel, в котором было 350 магазинов.
dsxml.ReadXml("http://where.yahooapis.com/geocode?appid=capelinks&location=" + Address + "&Geocode=Geocode");
if (dsxml.Tables[0].Rows.Count > 0)
{
if (dsxml.Tables[1].TableName == "Result")
{
string Latitude = dsxml.Tables[1].Rows[0]["Latitude"].ToString();
string Longtitude = dsxml.Tables[1].Rows[0]["Longitude"].ToString();
Logger.Log.Debug("[Latitude and Longitude] " + " Store - No " + strStoreNo + " Addr Line 1 " + strAdd + " Latitude " + Latitude + " Longitude " + Longtitude);
}
}
Здесь он обрабатывает все 350 сохранений правильно, без ошибок.
В чем будет проблема с google api. существуют ли какие-либо ограничения на получение сведений о широте и долготе для большого количества магазинов.