>>分享Android开发相关的技术 书籍支持  卫琴直播  品书摘要  在线测试  资源下载  联系我们
发表一个新主题 开启一个新投票 回复文章 您是本文章第 19448 个阅读者 刷新本主题
 * 贴子主题:  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面向对象编程-->Lambda表达式
  JavaWeb开发-->使用过滤器
  JSP与Hibernate开发-->立即检索和延迟检索策略
  Java网络编程-->用Swing组件展示HTML文档
  精通Spring-->Vue简介
  Vue3开发-->绑定CSS样式
  如何提高Android代码的安全性
  Android网络开发-请求队列-性能提升解决方案
  Android中shape的使用
  android 手势操作GestureDetector
  Android Application Theme的实现及管理
  Android开发实践:用脚本编译Android工程
  Android网络编程之WebKit应用
  Android性能优化之视图篇(渲染机制)_移动开发_Applicaton的...
  UI渲染机制以及优化
  android 系统自带的卡帧警告
  安卓sqlite和Listview
  Android-商品展示案例
  Android Service学习之AIDL, Parcelable和远程服务-学习Andr...
  Android开发学习笔记:Intent的简介以及属性的详解-IT的点点...
  Android强制设置横屏或竖屏-Alex_Michel
  更多...
 IPIP: 已设置保密
楼主      
1页 0条记录 当前第1
发表一个新主题 开启一个新投票 回复文章


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