[转]android MapView 定位与Overlay onTap事件处理
android 手机,真的好想买一个,可惜太贵了。现在的工资负担不起!关注android g3手机降价!哈哈。
解决业务需要:在Google地图上显示五一与芙蓉大道,在交叉路上部署4个监控视频,使用android手机调用路况监控视频,查看路况是否拥堵或其他目的。
分析:1、首先要获取gs坐标,以便定位到五一大道和芙蓉大道交叉口。
2、用图片标志该交叉路口的路况视频点位置。
3、点击图片调用该处的监控视频。
技术解决:这里我只是做一个演示效果没有具体去获取gs坐标,而是写死。贴代码:
接上:
继承Overlay 画标志到Google map上:
重写Overlay事件onTap方法:
另外我把摄像头封装到一个类如下:
省略set/get方法
特别注意:使用Google地图需要申请当前电脑jdk环境的apiKey。具体怎么申请Google一下,这里就不做详细说明。
下面贴mian。xml:该注意的地方
另外注意导入com.google.android.maps包和加一些必要的权限:
下面我们来看看效果:
触发解决:使用经纬坐标转换为屏幕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();
}
}
}
本文出自 “雷运石-石头记” 博客,请务必保留此出处http://honkershi.blog.51cto.com/1691715/412031
posted on 2012-05-11 09:47 freeliver54 阅读(1103) 评论(0) 编辑 收藏 举报