如何从kataklisma / android-google-places Library获取纬度和经度值

时间:2013-12-11 04:57:52

标签: android json parsing google-places-api

我已经实施了 kataklisma / android-google-places library 来解析Google地方API数据,但我找不到以下方法

place.getLatitude();
place.getLongitude();

我得到了所有这些

place.getName()
place.getFormattedAddress()
place.getIcon()
place.getId()
place.getReference()
place.getVicinity()

通过以下代码成功

if (result.getStatusCode() == StatusCode.OK) {

        List<Place> placesList = (List<Place>) result.getResults();
        for (Place place : placesList) {

            StaticParsedData.PLACE_NAMEs.add(place.getName());
            StaticParsedData.PLACE_FORMATED_ADDRESSEs.add(place
                    .getFormattedAddress());
            StaticParsedData.PLACE_ICONs.add(place.getIcon());
            StaticParsedData.PLACE_IDs.add(place.getId());
            StaticParsedData.PLACE_REFRENCEs.add(place.getReference());
            StaticParsedData.PLACE_VISINITIEs.add(place.getVicinity());

        }

但是我也需要获得这些地方的纬度和经度,但我找不到任何方法来获取纬度和经度值。我不认为这个库中有以下方法。

place.Latitude();
place.Longitude();

可能是我做错了。任何人都可以指导我这件事。如何通过此库获取任何地方的纬度和经度

此处还有一个图片库,显示packages层次结构及其libs

enter image description here

还是有其他任何用于解析Google Places API数据的强大库

1 个答案:

答案 0 :(得分:0)

我解决了我的问题。是的,我做错了。为了得到这个地方的纬度和经度,我们必须从像这样的几何对象中提取它。

首先你必须得到像这样的几何物体

if (result.getStatusCode() == StatusCode.OK) {

    List<Place> placesList = (List<Place>) result.getResults();
    for (Place place : placesList) {


        StaticParsedData.PLACE_GEOMETERIEs.add(place.getGeometery());

    }

然后提取任何地方的个人经度和经度

for (int i = 0; i < StaticParsedData.PLACE_NAMEs.size(); i++) {

                                    Geometry geometry = StaticParsedData.PLACE_GEOMETERIEs
                                            .get(i);
                                    com.a2plab.googleplaces.models.Place.Location location = geometry.location;
                                    Double lat = location.lat;
                                    Double lng = location.lng;

                                    MarkerOptions placesIndicater = new MarkerOptions()
                                            .icon(placeMarkerIcon)
                                            .title(StaticParsedData.PLACE_NAMEs
                                                    .get(i))
                                            .snippet(
                                                    StaticParsedData.PLACE_VISINITIEs
                                                            .get(i))
                                            .position(new LatLng(lat, lng));

                                    placeMarker = map
                                            .addMarker(placesIndicater);
                                    placeMarkerRef.add(placeMarker);

                                }