最近工作项目中用到了高德地图 需要在 高德地图上绘制标记点 大概是这个样子
按官方给出代码设置是这样的
MarkerOptions markerOption = new MarkerOptions();
markerOption.position(Constants.XIAN);
markerOption.title("西安市").snippet("西安市:34.341568, 108.940174");
markerOption.draggable(true);//设置Marker可拖动
markerOption.icon(BitmapDescriptorFactory.fromBitmap(BitmapFactory
.decodeResource(getResources(),R.drawable.location_marker)));
// 将Marker设置为贴地显示,可以双指下拉地图查看效果
markerOption.setFlat(true);//设置marker平贴地图效果
但是我发现 直接按照官方的代码样例 设置图标 设置出来还是显示默认的 蓝点图标 如是乎 我问了一哈度娘 得到 如下代码
markerOption.icon(
BitmapDescriptorFactory.fromView(
getMyView()
)
)
//自定义高德标点
fun getMyView(): View? {
return getActivity()!!.layoutInflater.inflate(R.layout.diandiantu, null)
}
设置这个icon 需要重新设置一个View 过去, 实现 上图想要的效果
至于原理我想是 官方设置的资源文件替换 会有一个图标size 的限制 自己一般的 切图无法和官方的 吻合 所以 不能直接 用资源文件 替换。
这个小知识点 就分享到这里了
关注章鱼哥 时不时分享 更多 Android 小知识点