单击特定标记但不返回正确的坐标

时间:2015-10-06 17:30:07

标签: android google-maps

我试图点击地图上显示的特定标记来返回坐标。我不知道为什么它总是给我返回相同的坐标,即使我点击了另一个相距很远的标记。

  ArrayList<Coordinates> coordinates=(ArrayList<Coordinates>)bundle.getSerializable("key");
        for (int i = 0; i < coordinates.size(); i++) {

            double lati=coordinates.get(i).getLat();
            double longLat=coordinates.get(i).getLongt();
            marker = map.addMarker(new MarkerOptions().
                    position(
                            new LatLng(lati, longLat)));
        }

        map.setOnMarkerClickListener(new GoogleMap.OnMarkerClickListener() {

            @Override
            public boolean onMarkerClick(Marker arg0) {
                LatLng current_position = marker.getPosition();
                Double lat = current_position.latitude;
                Double longt = current_position.longitude;
                System.out.println(lat);
                System.out.println(longt);
                return true;
            }
        });

2 个答案:

答案 0 :(得分:1)

替换此代码块:

 LatLng current_position = marker.getPosition();

有了这个:

 LatLng current_position = arg0.getPosition();

希望能帮助!!!

答案 1 :(得分:0)

@Override
public boolean onMarkerClick(Marker arg0) {
    LatLng current_position = marker.getPosition();
    Double lat = current_position.latitude;
    Double longt = current_position.longitude;
    System.out.println(lat);
    System.out.println(longt);
    return true;
}

您在这里引用marker;切换到arg0代替:

LatLng currentPos = arg0.getPosition();