5

Kamerayı, işaret yüksekliğine göre LatLngBounds numarasına uyacak şekilde konumuna getirmek istiyorum. Şimdiye kadar bu kodla belirteçlerin çapalar oturması için açabiliyorum:Kamera konumunu, işaretleme yüksekliğine göre LatLngboard'a sığdırmak için hareket ettirin

LatLngBounds.Builder builder = new LatLngBounds.Builder(); 
for (Marker marker : markerList) { 
    builder.include(marker.getPosition()); 
} 
LatLngBounds bounds = builder.build(); 

int padding = getActivity().getResources().getDimensionPixelSize(R.dimen.home_map_padding); // offset from edges of the map in pixels 
cameraUpdate = CameraUpdateFactory.newLatLngBounds(bounds, padding); 
mGoogleMap.animateCamera(cameraUpdate); 

Şöyle çıktı üretir: my output so far altta boşluk (bu int padding olan) var gördüğünüz gibi . Böyle eşit olması dolgu yaptırmak istiyorum: Ben özel bir işaretleyici kullanmadığınız sürece işaretleyici yüksekliğini almak için herhangi bir yolu var inanmıyorum

enter image description here

cevap

4

Sorunuz burada yayınlanan birine benzer:

Defining a CameraUpdate with LatLngBounds with different padding values

çözüm işaretçi simgesi yüksekliğine fiili GoogleMap üst dolgu ayarlamaktır. Böyle

şey yapacağız: benim özel işaretleyici görüntü ile bu Görünüşe

Drawable drawable = <YOUR DRAWABLE HERE>; 
final int padding = drawable.getIntrinsicHeight(); 
map.setPadding(0, padding, 0, 0); 

(hükümdarlar karşılaştırma için eklenmiştir):

enter image description here

+0

Aslında sorum benim bir kopyası. Ama yine de sen benim günümü kurtardın (hatta onlardan birkaçı). –

+0

@ MarianPaździoch Cevabımın faydalı olduğuna sevindim. Aslında kendimi bir çözüm arıyordum ve sorunuzu (ve diğerini) buldum. – Baz

+0

Yanlış gösterge otomatik olarak taşınıyor – delive

0

. Ancak, işaretçilerin aynı boyutta kalması koşuluyla, kamera görüntüsünü belirli bir miktar yukarı kaydırabilirsiniz.

Ne kadar kaydırma yapılacağını öğrenmek için biraz oyun oynamak zorunda kalacaksınız, ancak değeri aldıktan sonra gerekirse ekran yoğunluğuna göre ölçeklendirebilirsiniz.

+0

sorun: Ben işaretleyici yüksekliğini biliyorum (içinde piksel) ancak animasyondan sonra haritanın yakınlaştırmasının ne olacağını bilmiyorum, bu yüzden buradaki doldurmayı burada yapamam: https://developer.android.com/reference/com/google/android/gms/maps/CameraUpdateFactory .html # newLatLngBounds (com.google.android.gms.maps.model.LatLngBounds,% 20int) –