2013-09-24 82 views
9

Tôi đang làm việc trên ứng dụng Android gốc triển khai API GoogleMap mới nhất (V2) và tôi cần khiếu nại trợ năng (càng nhiều càng tốt) .cách thêm contentDesctiption vào InfoWindow hoặc điểm đánh dấu trong Android GoogleMaps V2 cho TalkBack

Tôi có thể thêm thuộc tính contentDescription vào mapView và nó hoạt động tốt - TalkBack nhận ra nó.

Tuy nhiên, khi tôi thêm cùng một thuộc tính vào bố cục của Marker hoặc InfoWindow, nó chỉ bị bỏ qua bởi TalkBack.

Có vẻ như GoogleMap chỉ hiển thị bố cục được tăng cường nội bộ lên bitmap và hiển thị bitmap này ở đầu chế độ xem bản đồ, bỏ qua thuộc tính contentDescription. Do đó, TalkBack không nói bất cứ điều gì khi nhấp vào hình ảnh tương ứng.

Bất kỳ ai có trải nghiệm hoặc kiến ​​thức khác nhau về cách thêm contentDescription vào InfoWindow hoặc Marker bằng Googlemap mới nhất?

Cảm ơn.

+0

Tôi cho rằng đây là một lỗ hổng trong API Maps V2. Bạn có thể xem xét việc gửi một vấn đề, vì các nhóm Maps khá tốt về việc trả lời các vấn đề tốt: http://code.google.com/p/gmaps-api-issues/issues/list – CommonsWare

+0

Cảm ơn, tôi đã làm điều đó. Tôi vẫn hy vọng rằng có thể có một công việc xung quanh lỗi đó ... :-) – user1512464

+0

Bạn đã tìm thấy giải pháp chưa? –

Trả lời

0

Bạn có muốn thiết kế cửa sổ thông tin mới không? Trước tiên, bạn nên viết một file .xml bố trí, sau đó:

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 với marker, tôi sử dụng marker.setTitile() và nó làm việc, vẫn không biết làm thế nào để làm cho InfoWindow hoạt động.

0

Những gì chúng tôi đã làm trong một dự án cũ là xây dựng và công bố theo chương trình mô tả nội dung khi chúng tôi nhận được lời gọi được nhấp vào điểm đánh dấu.

Bạn có thể kiểm tra AccessibilityManager, AccessibilityRecordCompat và AccessibilityEvent.

Nhưng không có hỗ trợ điều hướng tiêu điểm (điều hướng trượt sang trái hoặc phải sang trái) hiện tại trong SDK cho điểm đánh dấu thông tin. Điều hướng tiêu điểm là rất phổ biến cho người mù sử dụng.

Trân trọng.