我试图点击地图上显示的特定标记来返回坐标。我不知道为什么它总是给我返回相同的坐标,即使我点击了另一个相距很远的标记。
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;
}
});
答案 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();