Android LatLng解析

时间:2014-05-06 11:40:37

标签: android map google-maps-markers geocoding

我想在Android地图上点击的标记上显示地址。我使用GeoCoder获取地址,但OnMapLongClick函数没有lat,long参数。它的参数是(LatLng latlng)。我的代码如下;

@Override
public void onMapLongClick(LatLng latLng) {


    Geocoder geoCoder = new Geocoder(
            getBaseContext(), Locale.getDefault());
    try {
        List<Address> addresses = geoCoder.getFromLocation(lat, lng, 1);

        if (addresses.size() > 0) {
            for (int index = 0;
                 index < addresses.get(0).getMaxAddressLineIndex(); index++)
                filterAddress += addresses.get(0).getAddressLine(index) + " ";


        }
    }catch (IOException ex) {
        ex.printStackTrace();
    }catch (Exception e2) {
        // TODO: handle exception

        e2.printStackTrace();
    }

    googleMap.addMarker(new MarkerOptions().position(latLng).title(filterAddress)).showInfoWindow();


    markerClicked = false;
}

我如何解析或如何将latlng对象转换为lat,lng参数?

3 个答案:

答案 0 :(得分:2)

尝试从Latitude

中提取LongitudeLatLng
@Override
public void onMapLongClick(LatLng latLng) {

Double lat=latLng.latitude;
Double longi=latLng.longitude;
.........
.......... 
//do your job
}

答案 1 :(得分:1)

使用小型Google搜索,LatLng

使用公开字段latitudelongitude来阅读这两个值。

List<Address> addresses = geoCoder.getFromLocation(latLng.latitude, latLng.longitude, 1);

答案 2 :(得分:1)

您可以使用latlng.latitudelatlng.longitude来获取lat和lng参数。