>>分享Android开发相关的技术 书籍支持  卫琴直播  品书摘要  在线测试  资源下载  联系我们
发表一个新主题 开启一个新投票 回复文章 您是本文章第 25154 个阅读者 刷新本主题
 * 贴子主题:  Android MapView 定位与Overlay onTap事件处理 回复文章 点赞(0)  收藏  
作者:Jacky    发表时间:2020-03-31 16:05:21     消息  查看  搜索  好友  邮件  复制  引用


         解决业务需要:在Google地图上显示五一与芙蓉大道,在交叉路上部署4个监控视频,使用android手机调用路况监控视频,查看路况是否拥堵或其他目的。

         分析:1、首先要获取gs坐标,以便定位到五一大道和芙蓉大道交叉口。

                     2、用图片标志该交叉路口的路况视频点位置。

                     3、点击图片调用该处的监控视频。

         技术解决:这里我只是做一个演示效果没有具体去获取gs坐标,而是写死。贴代码:

                          点击在新窗口中浏览原图
CTRL+鼠标滚轮放大或缩小

         接上:

                          点击在新窗口中浏览原图
CTRL+鼠标滚轮放大或缩小

                           继承Overlay  画标志到Google map上:

                         点击在新窗口中浏览原图
CTRL+鼠标滚轮放大或缩小

         重写Overlay事件onTap方法:

                        点击在新窗口中浏览原图
CTRL+鼠标滚轮放大或缩小

         另外我把摄像头封装到一个类如下:

                         点击在新窗口中浏览原图
CTRL+鼠标滚轮放大或缩小

         省略set/get方法

         特别注意:使用Google地图需要申请  当前电脑jdk环境的apiKey。具体怎么申请Google一下,这里就不做详细说明。

         下面贴 mian.xml:  该注意的地方

         点击在新窗口中浏览原图
CTRL+鼠标滚轮放大或缩小

         另外注意导入com.google.android.maps包和加一些必要的权限:

         点击在新窗口中浏览原图
CTRL+鼠标滚轮放大或缩小

          下面我们来看看效果:

          点击在新窗口中浏览原图
CTRL+鼠标滚轮放大或缩小

          点击在新窗口中浏览原图
CTRL+鼠标滚轮放大或缩小

           触发解决:使用经纬坐标转换为屏幕x与y轴。 当前定位的x/y保存在一个list里面,然后重写onTap事件获取当前的经纬度坐标转换为x/y轴。满足一定范围调用对应的url监控视频进行转发播放。

         如下代码:
         if(!vidiconList.isEmpty())
           {
            for(int i=0;i<vidiconList.size();i++)
               {

                Vidicon vd=vidiconList.get(i);

                //vd.getX() map上定位的x坐标  以此类推screenX.x 单机map的x坐标

                if((vd.getX()-screenX.x<=50 && vd.getX()-screenX.x>=-50) && (vd.getY()-screenX.y<=50 && vd.getY()-screenX.y>=-50))

                {

                 new AlertDialog.Builder(ShowMap.this).setMessage("触发单击事件"+vd.getLongitude().getLatitudeE6()+"经度"+vd.getLongitude().getLongitudeE6()+"可以调用路况监控视频").show();

                }

               }
           }

----------------------------
原文链接:https://blog.51cto.com/honkershi/412031

程序猿的技术大观园:www.javathinker.net



[这个贴子最后由 flybird 在 2020-04-18 19:13:25 重新编辑]
  Java面向对象编程-->变量的作用域和初始化
  JavaWeb开发-->自定义JSP标签(Ⅰ)
  JSP与Hibernate开发-->数据库事务的并发问题的解决方案
  Java网络编程-->创建非阻塞的HTTP服务器
  精通Spring-->虚拟DOM和render()函数
  Vue3开发-->绑定CSS样式
  android 自动化测试之MonkeyRunner学习
  Android开发实践:用脚本编译Android工程
  Android开发实践:编译VLC
  android异步更新UI
  Android Fragments 详细使用
  Android网络开发-创建请求队列
  Android Action Bar 自定义View
  浅析Android的通知系统
  Android资源命名规范
  UI渲染优化
  UI渲染机制以及优化
  Android性能优化:布局渲染流程及优化
  Android UI优化—从Android渲染原理理解UI卡顿
  Android_实现商品详情的展示页及布局
  Android 判断当前设备是手机还是平板
  更多...
 IPIP: 已设置保密
楼主      
1页 0条记录 当前第1
发表一个新主题 开启一个新投票 回复文章


中文版权所有: JavaThinker技术网站 Copyright 2016-2026 沪ICP备16029593号-2
荟萃Java程序员智慧的结晶,分享交流Java前沿技术。  联系我们
如有技术文章涉及侵权,请与本站管理员联系。