Autore Topic: Gestione Zoom  (Letto 610 volte)

Offline marek87

  • Nuovo arrivato
  • *
  • Post: 22
  • Respect: 0
    • Mostra profilo
Gestione Zoom
« il: 03 Maggio 2012, 15:40:04 CEST »
0
Salve Ragazzi,
sto realizzando per la tesi un'applicazione Android. Ho un problema per quanto riguarda la gestione dello zoom. Mi spiego meglio, ho disegnato le frecce del vento sulla mappa di google però adesso vorrei sapere se esiste un modo per catturare lo zoom e far disegnare dinamicamente solamente le frecce che ricadono nel riquadro.
Spero di essere stato chiaro, vi ringrazio anticipatamente!

Offline qato

  • Nuovo arrivato
  • *
  • Post: 46
  • Respect: +3
    • Mostra profilo
  • Dispositivo Android:
    Google Nexus 5
Re:Gestione Zoom
« Risposta #1 il: 04 Maggio 2012, 09:02:51 CEST »
0
Non so quanto in realtà convenga fare questa cosa, generalmente le api sono già predisposte per questa situazione, basta non invalidare l'overlay

Comunque, credo che dovresti, dalla mapview estrarre le dimensioni e (con il metodo toPixel dell'interfaccia Projection) della mappa e inserire nell'overlay solo gli elementi che si trovano all'interno del riquadro

In pratica qualcosa del genere

Codice: [Seleziona]
private boolean isVisibleInMap(GeoPoint position) {
        Rect mapRect = new Rect();
        mapView.getDrawingRect(mapRect);

        Point current = new Point();
        mapView.getProjection().toPixels(position, current);

        return mapRect.contains(current.x, current.y);
}

il codice non l'ho provato, ho adattato qualcosa che avevo scritto tempo fa, ma non so se funziona :)