|
发表帖子
API/SDK版本号: |
23 |
产品: |
3D地图 |
手机型号: |
三星S6 |
使用接口: |
|
应项目需求 需要在fragment中加载高德地图,而fragment切换的时候会导致切回来 地图并未加载,而是显示 一片空白区域
对高德的建议,以下几点我真的很气愤,主要是在帮助与支持上高德工作人员的回复都是随意给人一直糊弄带过的感觉,而我正是感觉高德比百度更加专业,所以项目关于地图统一推荐用户使用高德地图,而项目过程中花费了太多时间耗在这以下的问题,而每次又不得解而了了之,这次我希望都能得到统一回复。
这些问题如下:
1. 地图显示北京,这个问题据我得知只能用SupportMapFragment.newInstance(aOptions);来解决 ,因为它提供了 aOptions 来设置参数
而使用 mapView = (TextureMapView) contentView.findViewById(R.id.map); 来绑定的布局 后面设置
aMap.moveCamera(CameraUpdateFactory.changeLatLng(mLatLng)); 这些其实都是不管用的,至少进去还是能看到显示北京。。。2.一直感觉高德地图对fragment的支持不足,用着会有很多问题 , 还有就是fragment切换会出现黑色背景所以我选择使用TextureMapView才算解决, 这次就是fragment 切换问题,因为每次切换都会造成 地图空白,而在论坛上居然没有搜到答案,而百度得到的全是互相抄袭的错误答案,根本不能解决问题,其实这样的问题应该是很多人都遇到而不得解的,这里我真心希望你们能够回答一下。
以下我提出我fragment使用的代码:
if (contentView == null) {
contentView = inflater.inflate(R.layout.fragment_map, container, false);
mapView = (TextureMapView) contentView.findViewById(R.id.map);
mapView.onCreate(savedInstanceState);
initmap();
}
private void initmap() {
if(aMap == null) {
aMap = mapView.getMap();
setUpMap();
}
}
@Override
public void onPause() {
super.onPause();
mapView.onPause();
}
@Override
public void onResume() {
super.onResume();
mapView.onResume();
aMap.moveCamera(CameraUpdateFactory.zoomTo(14));
}
@Override
public void onSaveInstanceState(Bundle outState) {
super.onSaveInstanceState(outState);
if (mapView != null)
mapView.onSaveInstanceState(outState);
}
@Override
public void onDestroyView() {
super.onDestroyView();
}
@Override
public void onDestroy() {
super.onDestroy();
if (mapView != null)
mapView.onDestroy();
}
|
|