武陵半仙 2017-08-23 09:05 采纳率: 0%
浏览 1404

[Android] 实现自定义室内地图和zigbee模块位置显示的解决方案

具体需求:显示自制室内一比一地图,并且通过zigbee模块串口接受另外一个zigbee移动端的位置信息,然后显示在地图中,位置信息500ms更新一次。
已完成:地图不添加缩放和拖动效果的情况下,实现位置更新显示,(通过在showBit方法中画实心圆和编号实现)。
现在提问:1.在实现地图图片缩放和拖动效果后,zigbee模块位置信息显示还没有找到好方法,因为原本的实现方法是计算死位置信息转换为像素坐标后的坐标值,如果缩放或者拖动后,该位置信息坐标就乱了。请问有计算方法吗?
2.另外自己想了一个方法,在每次更新View的方法中,(此处为showBit()方法),新建一个Canvas,以该地图图片为背景,(即Canvas canvas = new Canvas(bitmap)),这样显示的位置信息的圆圈会跟随图片缩放或拖动,但是一个弊病是图片被污染,即canvas在画的时候画在了图片上,所以每次画的圆圈都保留在了图片上,请问有没有解决方法呢?

  • 写回答

1条回答

  • 哥们OnlyRead 2017-08-24 08:14
    关注

    地图缩放和移动的逻辑是这样的:1,清除上次绘制的图形。2:计算手指移动和缩放的距离及比例,对最初始的计算死的坐标进行按照手机的平移和缩放,重新计算新的位置,重新绘制。
    不能每次用上次的bitmap作为canvas,这样不停的创建canvas,并且数据没有清除,资源没有释放,最后手机只会越来越卡。

    评论

报告相同问题?

悬赏问题

  • ¥15 求差集那个函数有问题,有无佬可以解决
  • ¥15 【提问】基于Invest的水源涵养
  • ¥20 微信网友居然可以通过vx号找到我绑的手机号
  • ¥15 寻一个支付宝扫码远程授权登录的软件助手app
  • ¥15 解riccati方程组
  • ¥15 display:none;样式在嵌套结构中的已设置了display样式的元素上不起作用?
  • ¥15 使用rabbitMQ 消息队列作为url源进行多线程爬取时,总有几个url没有处理的问题。
  • ¥15 Ubuntu在安装序列比对软件STAR时出现报错如何解决
  • ¥50 树莓派安卓APK系统签名
  • ¥65 汇编语言除法溢出问题