2012-01-18 15 views
5

Uygulamamdaki yakınlaştırma kontrollerinin önceden tanımlanmış stilini google maps uygulamasında yeni yakınlaştırma kontrolleri gibi görünmesini istiyorum. Aşağıya bakın: Bunu nasılMapView'da yakınlaştırma kontrollerini değiştirme

enter image description here

yapabilirim? Etrafa baktım ve hiçbir şey bulamadım.

Şimdiden teşekkürler.

+0

Tam olarak ne yapmak istersiniz, daha fazla ayrıntı verebilir misiniz? – DuyguK

+0

Yakınlaştırma düğmelerinin görünümünü değiştirmenin kolay bir yolu olup olmadığını öğrenmek isterim veya yeni çekilebilir öğeler oluşturup bunları projeye eklerim, dinleyicileri ve diğerlerini geçersiz kılmalıyım ... ama sanırım yaratmalıyım kendi zoom düğmelerim – jalv1039

+0

@ jalv1039: Google'da arama yapıyorsanız bu düğmeleri kolayca alabilirsiniz. –

cevap

5

Sen yani dört resim drawables olmalıdır: (+) içinde

  1. Yakınlaştırma/devre dışı
  2. Zoom out etkinleştirmek (-)/devre dışı

koyun etkinleştirmek MapView düzenini, arka plan resmi yukarıdaki çizim malzemeleriyle birlikte bir ImageView veya Button.

zoomIn.setOnClickListener(new OnClickListener() { 
    @Override 
    public void onClick(View v) { 
     mapView.getController.zoomIn() 
     checkzoom(); 
    } 
}); 

zoomOut.setOnClickListener(new OnClickListener() { 
    @Override 
    public void onClick(View v) { 
     mapView.getController.zoomOut() 
     checkzoom(); 
    } 
}); 

public void checkzoom() { 
    if(mapView.getZoomLevel()==1) // dont know if 0 or 1, just wrote it 
    { 
     zoomOut.setEnabled(false); 
     // or u can change drawable and disable click 
    } 
    if(mapView.getZoomLevel()==18) { 
     zoomIn.setEnabled(false); 
     // or u can change drawable and disable click 
    } 
} 

DÜZENLEME: zoom in zoom out

5

Ben sorunu çözüldü Bu yolla:

Sonra gibi onClickListeners atamak gerekir engelli yakınlaştırma kontrollerde (setBuiltInZoomControls(false)) inşa benim kendi düğmeleri eklendi düğme olaylarına ulaşmak için kullanıcı arayüzüne ve işleyicilere eklendi.