Bir Android cihazında GPS özelliğini kullanarak parçamı çizmek istiyorum.Android cihazında hareketli bir parça nasıl görüntülenir
Tamamlanmış bir rotayı görüntülerken bir sorunum yok ancak taşıdığım parçayı göstermeyi zor buluyorum. Şimdiye kadar, bunu yapmanın 2 farklı yolunu buldum ama ne tatmin edici degiller.
YÖNTEM 1
PolylineOptions track = new PolylineOptions();
Polyline poly;
while (moving) {
Latlng coord = new LatLng(lat,lng); // from LocationListener
track.add(coord);
if (poly != null) {
poly.remove();
}
poly = map.addPolyline(track);
}
yani yeniden eklemeyi sonra yeni koordinatları ekleme ve daha önce kaldırmadan çoklu çizgiyi oluşturmak.
Bu, aşırı derecede yavaştır.
YÖNTEM 2
oldcoord = new LatLng(lat,lng);;
while (moving) {
PolylineOptions track = new PolylineOptions();
LatLng coord = new (LatLng(lat,lng);
track.add(oldcoord);
track.add(coord);
map.addPolyline(track);
oldcoord = coord;
}
yani tek çoklu çizgiler bir dizi çizmek.
Bu yöntem, Yöntem 1'den çok daha hızlı sonuç verirken, özellikle de daha düşük yakınlaştırma düzeylerinde oldukça pürüzlü görünüyor, çünkü her bir piksel karesi kapalı ve yalnızca gerçekten dokunan köşeler.
Daha iyi bir yol var mı, eğer öyleyse, nedir?
Cevabınız için teşekkürler. Sonunda kendimle geldim (yöntem 1). Yapmakta olduğum problem, polyline oluşturmanın ve çıkarmanın bir ArrayList koordinatında yinelediğimde, işlemin sonsuza kadar sürdüğüydi. Ancak, bu işlemi onChangeListener'a yüklediğimde bir cazibe gibi çalıştı. –
@PeteH Beni bilgilendirmekten memnuniyet duyar mısınız, routePoints.add yönteminde mapPoint nedir (mapPoint); – Keshav1234
a MapPoint basitçe bireysel bir LatLng nesnesidir, yani harita ekranınız için istenen noktalardan biridir. – PeteH