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;
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.
Đ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
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
Điều gì sẽ xảy ra nếu bạn thay thế 'QMapFragment.newInstance (...)' bằng 'SupportMapFragment.newInstance()'? –