Bir googleMap'teki işaretleyici konumunu 5 saniyelik aralıklarla güncellemek istiyorum. GoogleMap'te bir işaretleyici ile göstermem gereken sunucudan farklı Lattitude ve Boylam değerleri alıyorum. Ben aşağıdakileri ben güzel 5 seconds.It güncellemeleri düzenli aralıklarla updateCabLocation
yöntemini çağırarak ama ANR
mesajı gösterir amgoogleMap işaretleyici düzenli aralıklarla nasıl güncellenir?
void updateCabLocation(final LatLng location) {
if(myMarker == null) {
myMarker = mGoogleMap.addMarker(new MarkerOptions().position(location).
icon(BitmapDescriptorFactory.fromResource(R.drawable.myMarkerImage)));
}else {
myMarker.setPosition(location);
}
CameraUpdate cameraUpdate = CameraUpdateFactory.newLatLngZoom(location, 15);
mGoogleMap.moveCamera(CameraUpdateFactory.newLatLng(location));
mGoogleMap.animateCamera(cameraUpdate);
}
Runnable updateMarker = new Runnable() {
@Override
public void run() {
updateCabLocation(location); // location value changes each time. I have deleted that piece of code here.
handler.postDelayed(updateMarker, 5000);
}
};
çalıştı. Bunu başarmanın başka bir yolu var mı?
Sadece bir not: neden iki kamera güncelleştirmesi var? Sadece bunlara ihtiyacın var. @MD Konumunu güncellerken işaretleyiciyi kaldırmak için bir neden yoktur. –
@SamiKuhmonen evet haklısınız. –
'updateCabLocation' öğesini nerede arıyorsun? Bir AsyncTask kullanıyor musunuz? Bu kodu gönderebilir misin? – antonio