5

Desidero spostare la telecamera in posizione per adattarla a LatLngBounds in relazione all'altezza dell'indicatore. Finora sono in grado per una vestibilità le ancore di marcatori con questo codice:Spostare la posizione della telecamera per adattarla a LatLngBounds in relazione all'altezza dell'indicatore

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); 

Produce output come questo: my output so far Come si può vedere non c'è spazio vuoto in basso (questo è int padding). Mi piacerebbe avere l'imbottitura essere uguale in questo modo:

enter image description here

risposta

4

La tua domanda è simile a quello postato qui:

Defining a CameraUpdate with LatLngBounds with different padding values

La soluzione è quella di impostare il padding superiore del reale GoogleMap all'altezza della vostra icona marcatore.

Qualcosa di simile lo farà:

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

Sembra che questa mia immagine indicatore personalizzato con (i governanti inseriti per il confronto):

enter image description here

+0

In realtà la mia domanda è un duplicato. Ma in ogni caso hai salvato la mia giornata (o anche solo poche). –

+0

@ MarianPaździoch Contento che la mia risposta è stata utile. In realtà stavo cercando una soluzione da solo e ho trovato la tua domanda (e l'altra). – Baz

+0

Errore perché l'indicatore si sposta automaticamente – delive

0

Non credo ci sia un modo per ottenere l'altezza del marcatore a meno che non si sta utilizzando un marcatore personalizzato. Tuttavia, dato che i marcatori restano della stessa dimensione, è possibile far scorrere la visualizzazione della videocamera di un determinato importo.

Dovrai giocare un po 'con quanto scorrere, ma una volta ottenuto il valore puoi ridimensionarlo in base alla densità dello schermo, se necessario.

+0

Il problema è: So altezza marcatore (in pixel) ma non so quale sarà lo zoom della mappa dopo l'animazione, quindi non posso riflettere l'altezza nel padding qui: https://developer.android.com/reference/com/google/android/gms/maps/CameraUpdateFactory .html # newLatLngBounds (com.google.android.gms.maps.model.LatLngBounds,% 20int) –

Problemi correlati