2013-08-08 22 views
6

Tôi đã nghiên cứu vấn đề này trong một vài ngày và đã thử mọi thứ do SO cung cấp mà không thành công.Google Maps V2 Android hoạt động dưới dạng phân đoạn, nhưng hiển thị màn hình trắng (có điều khiển thu phóng) như đoạn con

Khi tôi làm theo hướng dẫn được Google here nêu ra, tôi không gặp vấn đề gì khi hiển thị Bản đồ Google chung trong Phân đoạn bản đồ tùy chỉnh (QMapFragment) mở rộng SupportMapFragment trong FragmentActivity của tôi.

(Ghi chú bên: Ngay cả khi tôi cung cấp khóa API giả, ví dụ: "abcd", trong Manifest.xml, bản đồ vẫn được hiển thị tốt. Tôi bị nhầm lẫn bởi điều đó, nhưng dù sao ...)

Nhưng khi tôi thêm QMapFragment như một đoạn đứa trẻ khác Fragment tùy chỉnh, ví dụ, với đoạn mã sau:

mFrag = QMapFragment.newInstance(new LatLng(location.getLatitude(), location.getLongitude())); 
FragmentTransaction transaction = getChildFragmentManager().beginTransaction(); 

transaction.add(R.id.framelayout, mFrag).commit(); 

tôi nhìn thấy một màn hình trống với các điều khiển zoom được thêm vào mảnh, và tôi có được điều này trong LogCat

08-08 13:44:25.914: W/dalvikvm(7057): VFY: unable to resolve instance field 30 
08-08 13:44:25.914: D/dalvikvm(7057): VFY: replacing opcode 0x52 at 0x0012 
08-08 13:44:25.914: D/dalvikvm(7057): VFY: dead code 0x0014-0018 in Lcom/google/android/gms/common/GooglePlayServicesUtil;.b (Landroid/content/res/Resources;)Z 
08-08 13:44:26.000: I/dalvikvm(7057): Total arena pages for JIT: 11 
08-08 13:44:26.180: W/dalvikvm(7057): Unable to resolve superclass of Lmaps/p/w; (734) 
08-08 13:44:26.180: W/dalvikvm(7057): Link of class 'Lmaps/p/w;' failed 
08-08 13:44:26.180: W/dalvikvm(7057): Unable to resolve superclass of Lmaps/ap/as; (6056) 
08-08 13:44:26.180: W/dalvikvm(7057): Link of class 'Lmaps/ap/as;' failed 
08-08 13:44:26.180: W/dalvikvm(7057): Unable to resolve superclass of Lmaps/af/k; (5085) 
08-08 13:44:26.180: W/dalvikvm(7057): Link of class 'Lmaps/af/k;' failed 
08-08 13:44:26.187: E/dalvikvm(7057): Could not find class 'maps.af.k', referenced from method maps.ag.an.a 
08-08 13:44:26.187: W/dalvikvm(7057): VFY: unable to resolve new-instance 4928 (Lmaps/af/k;) in Lmaps/ag/an; 

Screenshot of properties

Và không, tôi không nhận được "Uỷ quyền không thành công" từ trình gỡ lỗi và bảng điều khiển của tôi được đặt thành Google Android v2 trên Google API.

+1

Điều đó rất lạ. Nếu bạn có thể tạo một trường hợp thử nghiệm có thể tái sản xuất, bạn có thể xem xét việc gửi một vấn đề tại http://code.google.com/p/gmaps-api-issues/issues/list Cũng lưu ý rằng dự án của bạn không cần API Google - đó là dành cho Maps V1. – CommonsWare

+0

Luôn gỡ cài đặt hoàn toàn và cài đặt lại ứng dụng của bạn nếu bạn gặp phải các loại sự cố này. Tôi cũng nhận thấy rằng bộ nhớ đệm khóa API trong các điều kiện nhất định. Khóa API không hợp lệ dẫn đến bản đồ đang được hiển thị tốt và các khóa API hợp lệ dẫn đến bản đồ không được hiển thị: http://www.youtube.com/watch?v=rtWWt2blDTg&feature=c4-overview&list=UU5IDcgLgmrgRhAoTsPk7KpQ – ddewaele

+0

Điều gì sẽ xảy ra nếu bạn thay thế 'QMapFragment.newInstance (...)' bằng 'SupportMapFragment.newInstance()'? –

Trả lời

0

Tôi nhớ có vấn đề tương tự khi sử dụng transaction.add. Từ đó, một trong các quy tắc cơ bản của tôi là không bao giờ giao dịch người dùng.thêm lại và sử dụng transaction.replace để thay thế. Hãy thử nó, nó sẽ hoạt động.

+0

Tôi đã thử thay thế bằng cách thay thế. Hành vi tương tự đã xảy ra. Trong thực tế, mảnh gốc vẫn được hiển thị bất chấp sự thay thế. Tôi đã ngừng cố gắng bao gồm toàn bộ bản đồ của Google và đã chuyển sang chỉ sử dụng [API bản đồ tĩnh của Google] (https://developers.google.com/maps/documentation/staticmaps/) –

Các vấn đề liên quan