현재 주유소들을 구글맵에 마커 찍어준 상황에서 마커를 클릭하면 마커좌표의 가운데로 가도록 해놓고 맵을 클릭하면 마커가 해제된 것 처럼 작업해놨습니다. 그런데 맵을 클릭하면 마커를 클릭안 해도 가장 가까운 마커가 선택되고 거기로 카메라가 이동합니다... 도와주세요
public void onMapClick(LatLng latLng) {
changeSelectedMarker(null);
ConstraintLayout.LayoutParams layoutParams = (ConstraintLayout.LayoutParams) cl_carBookMap_showList.getLayoutParams();
layoutParams.setMargins(0,0,0,Math.round(Utils.convertDpToPixel(66)));
}
public boolean onMarkerClick(Marker marker) {
CameraUpdate center = CameraUpdateFactory.newLatLng(marker.getPosition());
googleMap.animateCamera(center);
ConstraintLayout.LayoutParams layoutParams = (ConstraintLayout.LayoutParams) cl_carBookMap_showList.getLayoutParams();
layoutParams.setMargins(0,0,0,Math.round(Utils.convertDpToPixel(22)));
changeSelectedMarker(marker);
return true;
}
private void changeSelectedMarker(Marker marker) {
// 선택했던 마커 되돌리기
if (selectedMarker != null) {
addMarker(selectedMarker, false);
selectedMarker.remove();
}
// 선택한 마커 표시
if (marker != null) {
selectedMarker = addMarker(marker, true);
marker.remove();
}
}