Android百度地图添加Marker失真问题的解决方案
Marker失真问题
由于公司项目原因,用了很多次百度地图API,基础的地图定位、显示地图就不多说了,这里主要说一下百度地图添加Marker图标。
最开始接触百度地图添加Marker图标的时候,发现自己设置的图标是多大地图上就显示多大,感觉有点失真,看起来很不舒服,但通过网上搜索,并没有找到解决办法,就没怎么注意图标失真的问题,毕竟是一个小项目,不是面向大众的,最近开发的一个项目同样有这个需求,而且是面向大众开发的,我就想为什么摩拜单车的图标那么清晰,我的图标却失真。

就是这么清晰
通过Resource添加Marker
BitmapDescriptor descriptor = BitmapDescriptorFactory.fromResource(R.drawable.icon_geo1);
LatLng point = new LatLng(latitude, longitude);
OverlayOptions option = new MarkerOptions().position(point).icon(descriptor);
baiduMap.addOverlay(option)
这种方式添加Marker图标,自己的图标是多大就会显示多大,比如图标是100×100,地图上就会显示100×100的,当然100×100有点大,还会失真,如果想让图标小一点,看着正常一点,把图标换成32×32的,图标虽然变小了,但显示出来依然有点失真,图标的轮廓就像有锯齿一样。
通过Bitmap添加Marker
想要图片不失真,自己控制大小,就要将图标转换成Bitmap,然后将Bitmap的尺寸缩放到合适的大小,通过Bitmap的方式添加图标才行。
Bitmap bitmap = UIUtil.zoomImg(BitmapFactory.decodeResource(getResources(), R.drawable.icon_geo1), 50, 50);
BitmapDescriptor descriptor = BitmapDescriptorFactory.fromBitmap(bitmap);
LatLng point = new LatLng(latitude, longitude);
OverlayOptions option = new MarkerOptions().position(point).icon(descriptor);
baiduMap.addOverlay(option);
zoomImg
public static Bitmap zoomImg(Bitmap bm, int newWidth, int newHeight) {
//获得图片的宽高
int width = bm.getWidth();
int height = bm.getHeight();
//计算缩放比例
float scaleWidth = ((float) newWidth) / width;
float scaleHeight = ((float) newHeight) / height;
//取得想要缩放的matrix参数
Matrix matrix = new Matrix();
matrix.postScale(scaleWidth, scaleHeight);
//得到新的图片
return Bitmap.createBitmap(bm, 0, 0, width, height, matrix, true);
}
这里建议找一个大点的图标,转换成较小的尺寸,比如100×100的图标转换成50×50的Bitmap,就会有不错的显示效果。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。
- Android系统添加Linux驱动
- Android实现EditText添加下划线
- Android添加用户组及自定义App权限的方法
- Android中多行文本末尾添加图片排版问题的解决方法
- Android添加指纹解锁功能的实现代码
- Android实现添加商品到购物车动画效果
- Android GridView仿微信添加多图效果
- Android中recyclerView底部添加透明渐变效果
- Android GridView添加头部问题的解决
- 详解如何在Android Studio中添加RecyclerView-v7支持包
- Android手机屏幕同步工具asm.jar
- Android系统工具类详解
- Android中APK签名工具之jarsigner和apksigner详解
- 超实用的android网络工具类
- Android编程实现将时间转化成几分钟前、几天前等形式的工具类
- Android系统添加自己写的工具
相关文章
用Eclipse搭建Android开发环境并创建第一个Android项目(eclipse+android sdk)
这篇文章主要介绍了用Eclipse搭建Android开发环境并创建第一个Android项目,需要的朋友可以参考下2015-09-09
实例解析Android ImageView的scaleType属性
通过本文给大家介绍ImageView这个控件的一些使用方法,以及其最重要的一个属性: scaleType,对imageview的scaletype相关知识感兴趣的朋友一起学习吧2016-01-01
解析Android中View转换为Bitmap及getDrawingCache=null的解决方法
在android中经常会遇到View转换为Bitmap的情形,本篇文章主要介绍了Android中View转换为Bitmap及getDrawingCache=null的解决方法,有需要的可以了解一下。2016-11-11
Android开发之Picasso通过URL获取用户头像的圆形显示
这篇文章主要介绍了android开发之Picasso通过URL获取用户头像的圆形显示,非常不错,具有参考借鉴价值,需要的朋友可以参考下2017-06-06
Android Flutter利用CustomPaint绘制基本图形详解
CustomPaint其实和前端的Canvas基本上是一样的,前端Canvas支持的绘制方法CustomPaint都支持,毕竟CustomPaint其实也是基于Canvas实现的。本篇我们来介绍 CustomPaint 基本图形的绘制,感兴趣的可以了解一下2022-07-07
Android视图控件架构分析之View、ViewGroup
这篇文章主要为大家详细介绍了Android视图控件架构分析之View、ViewGroup,感兴趣的朋友可以参考一下2016-05-05


最新评论