【问题标题】:get all the information from a marker google maps-android studio从标记 google maps-android studio 获取所有信息
【发布时间】:2018-07-23 15:10:15
【问题描述】:

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

代码:

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);
    }

}

【问题讨论】:

    标签: android maps marker


    【解决方案1】:

    您可以使用 Geocoding 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 和您要检索的最大结果数,第一个againg 是突出的。

    查看 Geocoding 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)

    【讨论】:

    • 非常感谢!这解释了很多!你知道如何添加照片而不是这个白框来显示地址和这些东西吗?
    • 按照此自定义标记布局,stackoverflow.com/questions/24716987/…
    • 感谢您的回复!我会搜索!! :D
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-08-01
    • 2016-10-20
    • 2020-06-10
    • 2013-04-28
    • 1970-01-01
    • 2011-02-04
    • 1970-01-01
    相关资源
    最近更新 更多