解决高德地图the map must have a size 错误
来源:互联网 发布:逆回购 知乎 编辑:程序博客网 时间:2024/06/06 18:09
04-25 18:49:38.085: E/AndroidRuntime(12514): Process: net.tycmc.zuoyedemo, PID: 12514
04-25 18:49:38.085: E/AndroidRuntime(12514): java.lang.RuntimeException: Unable to start activity ComponentInfo{net.tycmc.zuoyedemo/net.tycmc.zuoyedemo.MainActivity}: java.lang.IllegalStateException: the map must have a size
04-25 18:49:38.085: E/AndroidRuntime(12514): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2650)
04-25 18:49:38.085: E/AndroidRuntime(12514): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2720)
04-25 18:49:38.085: E/AndroidRuntime(12514): at android.app.ActivityThread.-wrap12(ActivityThread.java)
04-25 18:49:38.085: E/AndroidRuntime(12514): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1567)
04-25 18:49:38.085: E/AndroidRuntime(12514): at android.os.Handler.dispatchMessage(Handler.java:111)
04-25 18:49:38.085: E/AndroidRuntime(12514): at android.os.Looper.loop(Looper.java:207)
04-25 18:49:38.085: E/AndroidRuntime(12514): at android.app.ActivityThread.main(ActivityThread.java:5917)
04-25 18:49:38.085: E/AndroidRuntime(12514): at java.lang.reflect.Method.invoke(Native Method)
04-25 18:49:38.085: E/AndroidRuntime(12514): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:888)
04-25 18:49:38.085: E/AndroidRuntime(12514): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:749)
04-25 18:49:38.085: E/AndroidRuntime(12514): Caused by: java.lang.IllegalStateException: the map must have a size
04-25 18:49:38.085: E/AndroidRuntime(12514): at com.amap.api.mapcore.AMapDelegateImp.a(AMapDelegateImp.java:1182)
04-25 18:49:38.085: E/AndroidRuntime(12514): at com.amap.api.mapcore.AMapDelegateImp.a(AMapDelegateImp.java:1172)
04-25 18:49:38.085: E/AndroidRuntime(12514): at com.amap.api.mapcore.AMapDelegateImp.b(AMapDelegateImp.java:1165)
04-25 18:49:38.085: E/AndroidRuntime(12514): at com.amap.api.maps.AMap.animateCamera(AMap.java:421)
04-25 18:49:38.085: E/AndroidRuntime(12514): at net.tycmc.zuoyedemo.MainActivity.Mapinit(MainActivity.java:136)
04-25 18:49:38.085: E/AndroidRuntime(12514): at net.tycmc.zuoyedemo.MainActivity.onCreate(MainActivity.java:109)
04-25 18:49:38.085: E/AndroidRuntime(12514): at android.app.Activity.performCreate(Activity.java:6286)
04-25 18:49:38.085: E/AndroidRuntime(12514): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1113)
今天在做高德地图地图的时候程序异常退出。报出这样的错误。提示原因是如上。查找了好久没找到原因,我的代码如下:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
map = (MapView) findViewById(R.id.map);
map.onCreate(savedInstanceState);
if (map != null) {
aMap = map.getMap();
}
pathLatlngs.clear();
Mapinit();
}
//在Oncreated方法里面控制范围,然后让地图直接显示在可视区域
private void Mapinit(){
LatLng lat1=new LatLng(33.65234,119.95852);
LatLng lat2=new LatLng(31.65234,119.95852);
//LatLng lat2=new LatLng(39.868823,116.37175);
pathLatlngs.add(lat1);
pathLatlngs.add(lat2);
Set<LatLng>set=new HashSet<LatLng>();
set.addAll(pathLatlngs);
//aMap.moveCamera(CameraUpdateFactory.newLatLngZoom(lat1,8));
LatLngBounds.Builder builder = LatLngBounds.builder();
for (int i = 0; i < pathLatlngs.size(); i++) {
builder.include(pathLatlngs.get(i));
}
LatLngBounds latlngbounds = builder.build();
aMap.animateCamera(CameraUpdateFactory.newLatLngBounds(latlngbounds, 8));
}
解决办法:报出这种错误的原因是地图还没有完全加载完成。我们就想要移动视野。。所以。我们只要等到地图完全加载完成再执行就好了,
上面代码中红色部分改为延迟3秒执行就好了
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
// TODO Auto-generated method stub
Mapinit();
}
}, 3000);
- 解决高德地图the map must have a size 错误
- 关于The function size must be used with a prefix when a default namespace is not specified解决
- The parent project must have a packaging type of POM
- The parent project must have a packaging type of POM
- The parent project must have a packaging type of POM
- ViewStub报错:must have a valid layoutResource解决
- 高德地图AMap.Map is not a constructor问题解决
- The used SELECT statements have a different number of columns 错误解决
- 解决The method onClick(View) of type new View.OnClickListener(){} must override a superclass错误
- 解决The method onClick(View) of type new View.OnClickListener(){} must override a superclass错误
- you must have a uni
- 高德地图找不到so文件的错误解决
- WCF分布式开发常见错误(25):The certificate 'CN=WCFHTTPS' must have a private key that is capable of key exchange
- The function size must be used with a prefix when a default namespace is not specified
- The function size must be used with a prefix when a default namespace is not specified
- 解决QWidget: Must construct a QApplication before a QPaintDevice错误
- 导入项目的时候,提示说@override The method of type must override a superclass method解决方式的错误
- 新建maven module时报错 The parent project must have a packaging type of POM
- 将本地maven项目上传至github
- java提示框
- ZOJ 3474 Taekwondo
- CSS font-family常见中文字体对应的英文名称
- 【笔试面试】简单总结笔试和面试中的海量数据问题
- 解决高德地图the map must have a size 错误
- android http post提交数据
- HiveSQL 进阶指南
- 内核并发竞态解决机制
- Android---keycode
- 跟小博老师一起学习数据库 ——JDBC-上篇
- hadoop日志
- JAVA-练习MyShopping升级菜单切换
- Chrome学习笔记(二):UI组件,皮肤引擎