如何将纹理折线添加到地图上
百度地图开发过程中遇到了这样一坑,就是没有办法将自定义纹理折线的添加到地图上,一旦加上自定义纹理(textureIndexs)就会闪退,最可恨的是,百度官方给出的Dome 也有这个Bug.在这里说明一下,我的测试机是天语K-Touch-W95,是不是因为手机原因就不太清楚了,其实,闪退崩溃都不怕,最要命的是百度给出的Dome 里 GeometryDemo.java 这个类里面,有很多行代码,崩溃了还没有报异常信息!

实在没有办法,只能拿出看家本领,注释代码,逆行修复,经过一翻折腾,终于定位到了这么一段代码
// 添加多纹理分段的折线绘制
// 添加折线点列表
LatLng p111 = new LatLng(39.865, 116.444);
LatLng p211 = new LatLng(39.825, 116.494);
LatLng p311 = new LatLng(39.855, 116.534);
LatLng p411 = new LatLng(39.805, 116.594);
List<LatLng> points11 = new ArrayList<LatLng>();
points11.add(p111);
points11.add(p211);
points11.add(p311);
points11.add(p411);
// 添加纹理图片列表
List<BitmapDescriptor> textureList = new ArrayList<BitmapDescriptor>();
textureList.add(mRedTexture);
textureList.add(mBlueTexture);
textureList.add(mGreenTexture);
// 添加纹理图片对应的顺序

在使用百度地图开发时遇到自定义纹理折线无法添加导致应用闪退的问题,尤其是在官方Demo中也存在相同错误。经过代码排查,发现`.customTextureList(textureList)`与`.dottedLine(true)`的调用顺序可能导致崩溃。调整顺序后,地图能够正常显示自定义纹理折线,但发现`dottedLine(true)`设置虚线属性在某些设备上不支持,可能会引起崩溃。如果有了解原因的朋友,可以进行交流。
最低0.47元/天 解锁文章
813

被折叠的 条评论
为什么被折叠?



