我已经研究了这个问题几天了,并且尝试过SO提供的所有内容但都没有成功。
当我按照Google here列出的说明进行操作时,我在使用FragmentActivity下扩展SupportMapFragment的自定义地图片段(QMapFragment
)中显示一般Google地图时没有任何问题。
(旁注:即使我在Manifest.xml中提供了一个伪API密钥,例如“abcd”,地图仍然显示得很好。我对此感到困惑,但无论如何......)< / p>
但是当我将QMapFragment
作为子片段添加到另一个自定义片段时,例如,使用以下代码:
mFrag = QMapFragment.newInstance(new LatLng(location.getLatitude(), location.getLongitude()));
FragmentTransaction transaction = getChildFragmentManager().beginTransaction();
transaction.add(R.id.framelayout, mFrag).commit();
我看到一个空白屏幕,片段中添加了缩放控件,我在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;
不,我没有从调试器中获得“授权失败”,我的控制台在Google API上设置为Google Android v2。
答案 0 :(得分:0)
我记得在使用transaction.add时遇到了同样的问题。从那时起,我的一个基本规则是永远不再使用transaction.add并使用transaction.replace代替。 尝试一下,它应该有用。