使用google API访问地址,经纬度状态

Posted

技术标签:

【中文标题】使用google API访问地址,经纬度状态【英文标题】:Accessing adress,states from longitude amd lattitude with google API 【发布时间】:2016-09-26 05:52:37 【问题描述】:

我正在开发用于作为 Web 应用程序进行跟踪的项目。现在我需要从给定的纬度和经度访问街道地址、州和国家。 所以我需要代码。如何从经纬度获取地址位置?

我必须使用的 Google API: https://maps.googleapis.com/maps/api/geocode/outputFormat?parameters.

我还需要带有 JSON 的 Google 反向地理编码?

【问题讨论】:

【参考方案1】:

我是这样做的,(代码不言自明):

[...]
GeoApiContext context = new GeoApiContext().setApiKey("your-key"); 
GeocodingApiRequest request = GeocodingApi.newRequest(context); 
request.latlng(new LatLng(lat, lon)); 
request.resultType(AddressType.STREET_ADDRESS); 

GeocodingResult[] results = request.await(); // try catch?

for(GeocodingResult r : results)
    for (AddressComponent ac : r.addressComponents)  
        System.out.println(ac);
    

也检查AddressComponentType:

for(GeocodingResult r : results)
    for (AddressComponent ac : r.addressComponents)  
        for (AddressComponentType acType : ac.types) 
            if (acType == AddressComponentType.LOCALITY)  
                System.out.println(ac.longName);
             else if (acType == AddressComponentType.STREET_ADDRESS) 
               System.out.println(ac.longName); 
             else if (acType == AddressComponentType.COUNTRY) 
               System.out.println(ac.longName); 
            
        
    

不要忘记包含 maven 依赖:

<dependency>
    <groupId>com.google.maps</groupId>
    <artifactId>google-maps-services</artifactId>
    <version>0.1.15</version>
</dependency>

【讨论】:

我收到错误找不到符号:AddressComponent, AddressType 您需要google-maps-services.jar。请参阅我的答案或此链接中的 maven 坐标:mvnrepository.com/artifact/com.google.maps/google-maps-services/…

以上是关于使用google API访问地址,经纬度状态的主要内容,如果未能解决你的问题,请参考以下文章

使用 Google API 获取多个地址的经纬度

从 Google API 获得的经纬度不匹配

在 Google Maps API 中使用地址而不是经度和纬度

markdown 使用Google Maps API按地址查找经度和纬度

Google Geolocation API - 使用经度和纬度在文本框中获取地址?

Google Maps API - 坐标地址(纬度,经度)