繁体   English   中英

从标记Google Maps-Android Studio获取所有信息

[英]get all the information from a marker google maps-android studio

我正在制作一个应用程序,当它打开时,它会显示用户的当前位置。问题是,我还想像该应用程序一样通过按下标记来放置所有详细信息(家庭住址,邮政编码,国家/地区)

码:

private GoogleMap mMap;
private GoogleApiClient googleApiClient;
private LocationRequest locationRequest;
private Location lastLocation;
private Marker currentUserLocationMarker;

这是包含标记的方法

 @Override
public void onLocationChanged(Location location) {

    lastLocation=location;
    if(currentUserLocationMarker!=null)
    {
        currentUserLocationMarker.remove();
    }

    LatLng latLng= new LatLng(location.getLatitude(),location.getLongitude());
    MarkerOptions markerOptions= new MarkerOptions();
    markerOptions.position(latLng);
    markerOptions.title("Test");
    markerOptions.icon(BitmapDescriptorFactory.fromResource(R.drawable.map_marker_mini));


    currentUserLocationMarker = mMap.addMarker(markerOptions);

    mMap.moveCamera(CameraUpdateFactory.newLatLng(latLng));
    mMap.animateCamera(CameraUpdateFactory.zoomBy(15));

    if(googleApiClient != null)
    {
        LocationServices.FusedLocationApi.removeLocationUpdates(googleApiClient,this);
    }

}

您可以使用地理编码API并使用反向地理编码从latlng获取详细信息。 这是反向地理编码查询的示例,

https://maps.googleapis.com/maps/api/geocode/json?latlng=40.714224,-73.961452&key=YOUR_API_KEY

这将返回带有多个地址结果的json响应,其中第一个地址是最突出的结果。

您还可以按以下方式在android中使用Geocoder,(此示例获取地址列表,并从返回的结果中记录格式化的地址行)

        Geocoder geocoder=new Geocoder(this);

        try {
            List<Address> addressList=geocoder.getFromLocation(40.714232,-73.9612889,10);

            for(Address address:addressList){
                Log.d("TAG",address.getAddressLine(0));
            }
        } catch (IOException e) {
            e.printStackTrace();
        }

getFromLocation(..)的参数为lat,lng和要检索的最大结果数,其中firstg是最重要的结果。

请查看地址解析API文档,以了解您还可以做什么,

https://developers.google.com/maps/documentation/geocoding/intro#reverse-example

此外,请查看Geocoder的文档,

https://developer.android.com/reference/android/location/Geocoder#Geocoder(android.content.Context,%20java.util.Locale)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM