2013-09-24 37 views
9

En yeni GoogleMap API'sını (V2) uygulayan yerel Android uygulaması üzerinde çalışıyorum ve erişilebilirlik şikayetinde bulunabilmem gerekir (elimden geldiğince) .contentDesctiption öğesini InfoWindow veya Android'e nasıl ekleyiniz? Google Talk'lar V2 for TalkBack

Haritaya contentDescription özniteliği ekleyebilirim ve iyi çalışıyor - TalkBack bunu tanır. Ancak, aynı niteliği Marker veya InfoWindow düzenlerine eklediğimde, yalnızca TalkBack tarafından yok sayılır.

GoogleMap, şişirilmiş düzeni yalnızca bir bitmap'e dönüştürür ve bu bitmapi, mapDescription özniteliğini göz ardı ederek, harita görünümünün üstünde gösterir. Sonuç olarak, ilgili görüntü tıklandığında TalkBack bir şey söylemez.

Kimsede en son Googlemap ile InfoWindow veya Marker'a contentDescription ekleme konusunda farklı bir deneyim veya bilgi var mı?

Teşekkürler.

+0

Bunun, Maps V2 API'sında bir delik olduğunu sanıyorum. Google Haritalar ekipleri iyi sorunlara yanıt vermek konusunda oldukça iyi olduğundan, bir sorunu bildirmeyi düşünebilirsiniz: http://code.google.com/p/gmaps-api-issues/issues/list – CommonsWare

+0

Teşekkürler, bunu yaptım. Umarım belki de bu kusurun etrafında bir iş vardır ... :-) – user1512464

+0

Bir çözüm buldunuz mu? –

cevap

0

Yeni bir bilgi penceresi tasarlamayı mı kastediyorsunuz? Önce, sonra bir .xml düzeni dosyası yazmak gerekir:

map.setInfoWindowAdapter(new InfoWindowAdapter() { 
     // Use default InfoWindow frame 
     @Override 
     public View getInfoWindow(Marker arg0) { 
      return null; 
     } 

     // Defines the contents of the InfoWindow 
     @Override 
     public View getInfoContents(Marker arg0) { 
      String namepic = arg0.getTitle(); 
      // Getting view from the layout file info_window_layout 
      View v = getLayoutInflater() 
        .inflate(R.layout.info_window, null); 
      LatLng latLng = arg0.getPosition(); 
      // Getting the position from the marker 

      TextView tvtitle = (TextView) v.findViewById(R.id.tv_title); 
      TextView tvLat = (TextView) v.findViewById(R.id.tv_lat); 
      TextView tvLng = (TextView) v.findViewById(R.id.tv_lng); 
      ImageView myimage = (ImageView) v.findViewById(R.id.my_image); 

      tvtitle.setText(arg0.getTitle()); 
      tvLat.setText("Latitude:" + latLng.latitude); 
      tvLng.setText("Longitude:" + latLng.longitude); 
      // Returning the view containing InfoWindow contents 
      myimage.setImageResource(getResources().getIdentifier(namepic, 
        "drawable", getPackageName())); 
      return v; 
     } 
    }); 
0

işaretleyici için, ben marker.setTitile() kullanılan ve hala infowindow çalıştığından emin olmak için nasıl bilmiyorum, çalıştı.

0

Eski bir projede yaptığımız şey, işaretlenmiş tıklama geri bildirimini aldığımızda içerik açıklamasını program aracılığıyla oluşturmak ve duyurmaktı.

AccessibilityManager, AccessibilityRecordCompat ve AccessibilityEvent öğelerini kontrol edebilirsiniz.

Ancak, SDK'da şu anda bilgi işaretçileri için odak gezinme (soldan sağa veya sağdan sola kaydırma) gezinme özelliği yoktur. Odak navigasyonu, kör kişilerin kullanması için çok yaygındır.

Saygılarımızla.