Autore Topic: zoomcontrols mapview sopra admob  (Letto 438 volte)

Offline TheRedFox

  • Nuovo arrivato
  • *
  • Post: 30
  • Respect: +1
    • Mostra profilo
  • Dispositivo Android:
    Nexus one
  • Play Store ID:
    RedFox Labs
  • Sistema operativo:
    Debian lenny 5.0, Windows XP
zoomcontrols mapview sopra admob
« il: 14 Giugno 2011, 17:48:00 CEST »
0
Salve a tutti, ho inserito in una mia applicazione un banner admob.
Questa applicazione è formata da un tab layout e tre activity di cui la terza è una mapview, le altre 2 applicazioni vanno bene ma la mapview visualizza i comandi dello zoom proprio sopra il banner(che sta in basso alla pagina) pubblicitario impedendomi di avvicinarmi o allontanarmi dal punto scelto.
Mi è sembrato di capire che si tratta di un bug delle mapview.
Non cè un modo per visualizzare lo zoom in alto invece che nel fondo della pagina?
Avete qualche idea?

edit: sto utilizzando il metodo setBuiltInZoomControls() per ottenere i comandi dello zoom
« Ultima modifica: 14 Giugno 2011, 17:50:26 CEST da TheRedFox »

Offline TheRedFox

  • Nuovo arrivato
  • *
  • Post: 30
  • Respect: +1
    • Mostra profilo
  • Dispositivo Android:
    Nexus one
  • Play Store ID:
    RedFox Labs
  • Sistema operativo:
    Debian lenny 5.0, Windows XP
Re:zoomcontrols mapview sopra admob
« Risposta #1 il: 15 Giugno 2011, 15:57:45 CEST »
0
Mi rispondo da solo  :D in modo che chi ha avuto il mio stesso problema possa risolverlo.
Per prima cosa bisogna aggiungere al layout xml della nostra mapview un elemento ZoomControls in questo modo:
Codice (XML): [Seleziona]
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
   android:layout_width="fill_parent"
   android:layout_height="fill_parent">
    <com.google.android.maps.MapView
       android:id="@+id/mapView"
       android:layout_width="fill_parent"
       android:layout_height="fill_parent"
       android:enabled="true"
       android:clickable="true"
       android:apiKey="*************************"
       />  
    <ZoomControls
        android:id="@+id/zoomcontrols"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"/>
</RelativeLayout>

Poi nel codice non si utilizza piu setBuiltInZoomControls(true) ma il seguente codice :
Codice (Java): [Seleziona]
/**Controlli per lo zoom **/
        zoom = (ZoomControls) findViewById(R.id.zoomcontrols);
        zoom.setOnZoomInClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                    controller.zoomIn();
            }
        });
        zoom.setOnZoomOutClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                    controller.zoomOut();
            }
        });
        /**--------fine---------**/


E' piuttosto semplice viene solo assegnato lo zoom avanti o indientro ad un evento onclick di ogni rispettivo bottone della view ZoomControls.