基于网络地图API的位置共享地图服务技术
2017-07-16宋倩
宋倩
(天津师范大学,天津 300387)
摘要:随着生活的发展,在网络位置服务方面的需求越来越大,位置信息之间的共享以及访问成为一个很重要的研究方向。本研究技术是目前打车软件,拼车软件核心技术,使用百度地图API和HTML5实现位置获取,运用MySQL数据库实现位置共享,既可以在电脑上实现,也可以在手机上实现,构建了跨平台的地图服务。
关键词:百度地图API;位置共享;LBS;MySQL
1 引言
1.1课题研究背景与意义
随着LBS技术的发展以及北斗导航技术的日趋成熟,基于真实位置的共享可以完成很多应用 [1]。目前国内的位置共享大多是基于百度地图或者腾讯地图等,虽然这些已经在日常生活中常被使用,但是它们也存在不足:
下载安装地图软件,需要登录账号;
(2)用户的位置信息保护不够安全。
本研究现实意义:
(1)不需要安装和登录
(2)实现了跨平台的地图服务,可以重复使用。
1.2 国内外研究现状
LBS是基于位置的服务,基本原理是:当用户需要位置服务时,移动终端通过定位获得空间位置数据,将其上传到中心,中心GIS对这些数据进行空间分析,以文本或者地图形式下传到终端。[2] [3]
1.2.1国外研究现状。美国公民遇到紧急情况时,通过拨打911电话,使所在地可以被跟踪到施行及时而有效的援助。美国刚开始的LBS发展是要求提供高精度的定位信息服务,这是LBS最原始的状态。其它与位置服务相关技术的发展,推动了西欧和东亚LBS的拓宽。
1.2.2国内研究现状。中国出现最早期的基于位置的服务实现了位置服务,可以选择语音进行导航。可以提供精度为5-50m的精确定位[4]。2006年,互联网地图开始出现,和web站点来实现手机用户对于位置信息服务的需求也变得流行。但是LBS在个人领域方面的应用还是有待研究。 2011年张嘉杰[4]在《基于Android的位置共享应用程序》中将LBS与移动和地图结合起来。2012年马虹哲在《基于Android移动终端的多方位置共享应用系统的设计与实现》中将移动和地图结合,实现了多方的位置共享服务[5]。
1.3 研究目标,内容与技术路线
1.3.1研究目标。随着LBS技术的发展以及北斗导航的日趋成熟,基于位置的共享可以完成很多重要。使用百度地图API和HTML5實现位置获取,运用MySQL数据库实现位置共享,构建了跨平台的地图服务,实现位置共享。[9] [10]。
1.3.2研究内容
(1)在网页上显示出地图界面,需要通过百度地图API实现地图的显示;
(2)获取用户所在位置信息,通过HTML5定位实现位置的获取;
(3)纠正位置后,将准确的位置信息保存,上传到数据库,通过MySQL数据库实现位置共享。
1.3.3技术路线
2 主流地图API
企业和公司为了增强市场活力,把一些网络资源通过API的形式开放给开发者使用,开发资源的接口就是地图API。主流的地图API有很多种,对一些地图API作简要介绍[3] 。
2.1 Google地图API
Google地图API免费开放,当用户点击时可以回应各项操作,自身功能中有一些气泡窗口,会包含各种内容信息,还有一些特性的应用服务 ,是目前3D效果比较好的地图API之一,应用广泛。
2.2腾讯地图API
腾讯地图开放了API,兼容各种浏览器;动画效果形象:地图拖动或者缩放顺畅。它的功能在外出旅游时,对游客很有作用。
2.3百度地图API
百度地图API的开放,支持各种平台的开发,基本功能很多[9]。正因为百度地图API有以下的优点,兼容性比较好,易用性高,设计独特,所以本实验采用基于百度地图API定位。
3 Mobile GIS
云GIS成为热点之后,移动GIS再次成为GIS行业的热点。支撑技术有:嵌入式技术,无线网络技术,分布式空间数据管理技术,移动数据库技术,GPS定位技术[7] [8]。
4位置共享地图服务技术
4.1定位
常见的定位方式包括:一HTML5定位:获取用户的位置开发出位置信息的服务。二GPS包括三个部分:空间部分;地面控制系统;用户设备部分。三百度地图API定位:有四种实现方式:
4.1.1根据浏览器定位。选择浏览器定位打开后会弹出一个窗口,询问用户是否同意浏览器定位,点击同意之后,系统就会定位到用户的位置,显示到地图,实用快捷,本实验就是根据这种方法定位的。
4.1.2根据IP定位。通过判断用户使用电脑的IP来确定位置, IP定位的不是最精确的位置,而是整体地方所分配的IP地址。
4.1.3根据城市名定位。输入城市名可以定位到城市。
4.1.4根据经纬度定位。输入经纬度查到准确的位置。
4.2纠正
对坐标进行过了加密处理。目前常用的坐标转换方法有以下三种:
4.2.1 GPS坐标转换百度坐标。BMap.Convertor.translate(gpsPoint,1,5,translateCallback); //真实经纬度转成百度坐标
gpsPoint 指GPS坐标
1———代表GPS坐标类型
5———代表百度坐标类型
translateCallback指坐标转换的回调函数
4.2.2 Google坐标转换百度坐标。BMap.Convertor.translate(ggPoint,3,5,translateCallback); //GCJ-02坐标转成百度坐标
ggPoint 指Google坐标
3———代表Google坐标类型
5———代表百度坐标类型
translateCallback指坐標转换的回调函数
4.2.3百度坐标转换GPS坐标。 目前转换方法尚未公开。
4.3位置共享
在坐标转换,位置纠正后,将位置信息保存,上传到数据库,通过输入用户名访问位置信息。
5实验分析
本实验是为了实现位置共享,显示地图,以天津为例,通过获取用户位置,对位置进行纠正,将位置信息保存,上传到数据库中,输入用户名访问保存的位置信息。
5.1地图显示
5.2定位
采用根据浏览器定位。
5.3纠正
采用的是第一种坐标转换方式,即将获得的经纬度转为百度坐标。
5.4发布到数据库
5.5位置共享
当用户的位置信息已经保存在数据库时,再次输入用户名即可访问到其存储的位置信息,查询成功。
6结论与展望
本研究基于百度地图API和HTML5定位技术和MySQL数据库,实现了定位,纠正,以及位置共享,构建了跨平台的地图服务。
研究中保存的位置信息,是一个过去时间点的位置,现在生活中越来越需要实时的定位与位置共享,所以下一步研究的方向是实现实时的位置共享。
参考文献
[1]谢党恩,顿贝贝,张志立. 基于百度地图API的校内路径导航系统的实现[J]. 许昌学院学报,2014,02:78-81.
[2]李骁. 百度地图API在Android中的配置和应用[J]. 计算机光盘软件与应用,2015,02:37-38.
[3]张嘉杰. 基于Android的位置共享应用程序[J]. 电脑编程技巧与维护,2011,09: 49-54+66.
[4]迟玉梁,甘新玲,李永. 基于Android平台的多人实时定位与交流系统的设计与实现[J]. 实验技术与管理,2015,09:160-16
[5]马虹哲. 基于Andoid移动终端的多方位置共享应用系统的设计与实现[D]. 北京邮电学,2012.
[6]百度地图最新资讯.3Snews 2012
[7]2012地理信息开发者大会 2012
[8]百度开发者中心 百度地图API介绍 2012
[9]花杰. 基于Google Maps API的WEBGIS应用研究[J]. 中国高新技术企业,2010,25:81-82.
[10]孙迪,李沛鸿. 百度地图API在WebGIS中的应用[J]. 河南科技,2013,22:165-166.