1
저는 4 개의 탭이 있고 하나의 탭에지도가있는 Viewpager가 있습니다. 런타임에 GoogleMap 아이콘 아이콘을 Android에서 변경할 예정입니다. 다음 코드를 android googlemap 아이콘이 변경되지 않았습니다.
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
final View rootView = inflater.inflate(R.layout.fragment_menu, container, false);
mMapView = (MapView) rootView.findViewById(R.id.mapView);
mMapView.onCreate(savedInstanceState);
mMapView.onResume(); // needed to get the map to display immediately
try {
MapsInitializer.initialize(getActivity().getApplicationContext());
} catch (Exception e) {
e.printStackTrace();
}
mMapView.getMapAsync(new OnMapReadyCallback() {
@Override
public void onMapReady(GoogleMap mMap) {
googleMap = mMap;
// For showing a move to my location button
googleMap.setMyLocationEnabled(true);
// For dropping a marker at a point on the Map
/* googleMap.addMarker(new MarkerOptions().position(sydney).title("Marker Title").snippet("Marker Description")).
setIcon(BitmapDescriptorFactory.fromResource(R.drawable.position_icon));*/
googleMap.setOnMyLocationChangeListener(new GoogleMap.OnMyLocationChangeListener() {
@Override
public void onMyLocationChange(Location location) {
sydney=new LatLng(location.getLatitude(), location.getLongitude());
googleMap.addMarker(new MarkerOptions().position(sydney).title(""))
.setIcon(BitmapDescriptorFactory.fromResource(R.drawable.position_icon));
CameraPosition cameraPosition = new CameraPosition.Builder().target(sydney).zoom(12).build();
googleMap.animateCamera(CameraUpdateFactory.newCameraPosition(cameraPosition));
googleMap.setOnMarkerClickListener(new GoogleMap.OnMarkerClickListener() {
@Override
public boolean onMarkerClick(Marker marker) {
marker.setIcon(BitmapDescriptorFactory.fromResource(R.drawable.logo));
return false;
}
});
}
});
// For zooming automatically to the location of the marker
/* */
}
});
return rootView;
}
했다 그러나 불행하게도 그 다음 나는 그것이 변경된 마커 아이콘을 탭하지만 몇 초 후에 이전 마커 새로운 마커 아이콘을 중첩된다. 위의 코드는 TabLayout의 첫 번째 탭입니다.이 TabLayout은지도가 있고 조각입니다.
위치가 변경 될 때마다 새 마커를 추가하기 때문에 상황이 발생합니다. 마커를 클릭하면 아이콘이 ** 로고 **로 변경되지만 위치가 몇 초 후에 변경되고 코드에서 ** position_icon **이 (가) 새 마커를 추가하고 새 위치가 이전 위치에서 새 마커는 이전 마커와 겹칩니다. –
@HarjotSinghOberai이 목표를 달성하기위한 어떤 해결책이 있습니까? – Sandro
달성하고자하는 것을 정교하게 설명해 주실 수 있습니까? –