Google Api没有给出位置

时间:2018-08-23 13:40:59

标签: google-maps google-api geolocation google-location-services

我正在使用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";
    }
}

1 个答案:

答案 0 :(得分:1)

添加您的API密钥

&key=yourkey

随着maps api的最新政策更新,我相信这一定是您遇到的情况...

也使用https ...仅允许通过https