我正在使用Google API获取我的项目中的位置。它有时给出位置,但是在大多数情况下,它没有给出任何位置。从今天开始,它向服务器返回禁止的错误403。 当我在浏览器中点击URL时,它正在提供位置。 我没有为我的API使用任何密钥,这会导致此问题。
只需添加- 我从api中获取经纬度,然后从google api中获取位置,并将其存储在数据库中。
我在做什么:-
public static string getGoogleLocationByLogLat(string log, string lat)
{
try
{
if (log == "")
{
log = "0.0";
}
if (lat == "")
{
lat = "0.0";
}
XmlTextReader xReader;
bool element = false;
string location = "", time, GL, parentEmail, respDateTime;
string parentElementName = "";
string childElementName = "";
string childElementValue = "", prmryCntact = "";
string url = "http://maps.google.com/maps/api/geocode/xml?latlng=" + lat + "," + log + "&sensor=true";
xReader = new XmlTextReader(url);
while (xReader.Read())
{
if (xReader.NodeType == XmlNodeType.Element)
{
if (element)
{
parentElementName = parentElementName + childElementName + "<br>";
}
element = true;
childElementName = xReader.Name;
}
else if (xReader.NodeType == XmlNodeType.Text | xReader.NodeType == XmlNodeType.CDATA)
{
element = false;
childElementValue = xReader.Value;
if (childElementName == "formatted_address")
{
location = childElementValue;
break;
}
}
}
if (location.Trim() == "")
{
location = "Location not found";
}
return location;
}
catch (Exception ex)
{
return "LOCATION NOT FOUND";
}
}
答案 0 :(得分:1)
添加您的API密钥
&key=yourkey
随着maps api的最新政策更新,我相信这一定是您遇到的情况...
也使用https ...仅允许通过https