我在片段中使用MapView。现在它没有加载。 (或者确切地说,它会加载,但不会加载。是的,它很奇怪,附带图片。)
映射加载时某些日志在控制台上(或无法加载/尝试加载)
W/DynamiteModule: Local module descriptor class for com.google.android.gms.googlecertificates not found.
I/DynamiteModule: Considering local module com.google.android.gms.googlecertificates:0 and remote module com.google.android.gms.googlecertificates:1
I/DynamiteModule: Selected remote version of com.google.android.gms.googlecertificates, version >= 1
D/ChimeraFileApk: Primary ABI of requesting process is armeabi-v7a
I/art: DexFile_isDexOptNeeded failed to open oat file '/data/dalvik-cache/arm/data@data@com.google.android.gms@app_chimera@m@00000006@DynamiteModulesA_GmsCore_prodlmp_xxhdpi_release.apk@classes.dex' for file location '/data/data/com.google.android.gms/app_chimera/m/00000006/DynamiteModulesA_GmsCore_prodlmp_xxhdpi_release.apk': Failed to open oat filename for reading: No such file or directory
D/ChimeraFileApk: Classloading successful. Optimized code found.
D/GoogleCertificates: com.google.android.gms.googlecertificates module is loaded
Fetched 163 Google release certificates
Fetched 318 Google certificates
D/ViewRootImpl: ViewPostImeInputStage ACTION_DOWN
以下是代码:
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// Inflate the layout for this fragment
View view = inflater.inflate(R.layout.fragment_home, container, false);
mapView = (MapView) view.findViewById(R.id.mapview);
// Gets the MapView from the XML layout and creates it
mapView.onCreate(savedInstanceState);
// Gets to GoogleMap from the MapView and does initialization stuff
mapView.getMapAsync(this);
}
在MapReady上,我这样做:
@Override
public void onMapReady(GoogleMap googleMap) {
map = googleMap;
map.getUiSettings().setMyLocationButtonEnabled(true);
map.getUiSettings().setAllGesturesEnabled(true);
map.setMyLocationEnabled(true);
// Needs to call MapsInitializer before doing any CameraUpdateFactory calls
try {
MapsInitializer.initialize(this.getActivity());
} catch (Exception e) {
e.printStackTrace();
}
// Updates the location and zoom of the MapView
CameraUpdate cameraUpdate = CameraUpdateFactory.newLatLngZoom(new LatLng(43.1, -87.9), 10);
map.animateCamera(cameraUpdate);
}
地图甚至没有加载。当我一直点击它。然后几秒后它突然开始显示缩放,但不响应任何用户交互。没有任何反应是我点击它捏缩放它。 现在,当我使用SUPPORT MAP FRAGMENT时,它会立即完美加载。所以,我的API密钥是正确的,互联网是完美的。 但是片段中的MAP视图不起作用。
我还检查了这个链接,日志和我一样:Here
有时当我一直点击它时,说10次,然后几秒后,只有部分地图可见。但仍然没有用户互动。无论我做什么,都没有任何事情发生。
现在这里是MapView的截图:
请帮助我,任何人都可以告诉我,如果它是我身上的错误或Android的mapview上的真正错误。 有没有人能够在最新的Google Play服务中使用MapView内部片段?
请帮助我,我被困住了。
由于
答案 0 :(得分:0)
如MapView中所述,
此类的用户必须将包含此视图的
Activity
或Fragment
的所有生命周期方法转发到此类中的相应方法。
您必须转发以下方法:
例如,您必须从父Activity / Fragment的相应方法中调用onResume()
方法。
尝试添加此SO帖子中提供的代码 - MapView (android maps api v2) inside fragment layout doesnt show。