手机端GPS定位结合百度地图实现定位
html页面:
<!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <meta name="viewport" content="initial-scale=1.0, user-scalable=no" /> <style type="text/css"> body, html, #allmap { width: 100%; height: 100%; overflow: hidden; margin: 0; font-family: "微软雅黑"; } </style> <title></title> </head> <body> <p id="allmap"></p></body> </html><script type="text/javascript"> var x = ""; var y = ""; var dizhi = ""; function getLocation(){ if (navigator.geolocation) { navigator.geolocation.getCurrentPosition(showPosition,showError); }else{ alert("浏览器不支持地理定位。"); } } function showPosition(position){ y = position.coords.latitude;//纬度 x = position.coords.longitude;//经度 // 百度地图API功能 //GPS坐标 var x = 116.32715863448607; var y = 39.990912172420714; var ggPoint = new BMap.Point(x, y); //地图初始化 var bm = new BMap.Map("allmap"); bm.centerAndZoom(ggPoint, 15); bm.addControl(new BMap.NavigationControl()); bm.enableScrollWheelZoom(); //启用滚轮放大缩小,默认禁用 bm.enableContinuousZoom(); //启用地图惯性拖拽,默认禁用 bm.addEventListener("tilesloaded", function () { });//地图加载完成 var gc = new BMap.Geocoder(); bm.addEventListener("click", function (e) { ggPoint = new BMap.Point(e.point.lng, e.point.lat); gc.getLocation(ggPoint, function (rs) { var addComp = rs.addressComponents; var mapAddress = addComp.province + addComp.city + addComp.district + addComp.street + addComp.streetNumber; dizhi = mapAddress; if (confirm(dizhi)) { window.location.href = "succes.html" } var marker = new BMap.Marker(ggPoint); // 创建点 bm.addOverlay(marker); var label = new BMap.Label("您选择的位置为"+dizhi, { offset: new BMap.Size(20, -10) }); marker.setLabel(label); //添加百度label bm.setCenter(ggPoint); }); }); bm.addControl(new BMap.NavigationControl()); //坐标转换完之后的回调函数 translateCallback = function (data) { if (data.status === 0) { var marker = new BMap.Marker(data.points[0]); bm.addOverlay(marker); marker.setAnimation(BMAP_ANIMATION_BOUNCE); //跳动的动画 //marker.enableDragging();//可拖拽 //var label = new BMap.Label("您所在的位置", { offset: new BMap.Size(20, -10) }); //marker.setLabel(label); //添加百度label //bm.setCenter(data.points[0]); //var a=BMap.Convertor(ggPoint, 0); gc.getLocation(data.points[0], function (rs) { //alert(rs.sematic_description); var addComp = rs.addressComponents; var mapAddress = addComp.province + addComp.city + addComp.district + addComp.street + addComp.streetNumber; dizhi = mapAddress; confirm(dizhi); if (confirm(dizhi)) { window.location.href = "succes.html" } var label = new BMap.Label("定位您所在的位置为"+dizhi, { offset: new BMap.Size(20, -10) }); marker.setLabel(label); //添加百度label bm.setCenter(data.points[0]); }); } } setTimeout(function () { var convertor = new BMap.Convertor(); var pointArr = [] pointArr.push(ggPoint); convertor.translate(pointArr, 1, 5, translateCallback) }, 1000); } function showError(error){ switch(error.code) { case error.PERMISSION_DENIED: alert("定位失败,用户拒绝请求地理定位"); break; case error.POSITION_UNAVAILABLE: alert("定位失败,位置信息是不可用"); break; case error.TIMEOUT: alert("定位失败,请求获取用户位置超时"); break; case error.UNKNOWN_ERROR: alert("定位失败,定位系统失效"); break; } } getLocation(); </script>手机端GPS定位结合百度地图实现定位的更多相关文章
- 在Fragment中实现百度地图,定位到当前位置(基于SDKv2.1.0)
使用最新版本的百度地图需要注意的几个地方: 1.libs文件夹下要有android-support-v4.jar.baidumapapi_v2_1_0.jar.locSDK_3.1.jar三个jar包 ...
- AngularJS进阶(十九)在AngularJS应用中集成百度地图实现定位功能
在AngularJS应用中集成百度地图实现定位功能 注:请点击此处进行充电! 前言 根据项目需求,需要实现手机定位功能,考虑到百度业务的强大能力,遂决定使用百度地图第三方服务. 添加第三方模块的步骤与 ...
- Xamarin.Android 使用百度地图获取定位信息
最近做一个项目,web端使用百度地图,PDA使用手持机自带的GPS定位系统获取经纬度,然后再百度地图上显示该经纬度会有一定距离的差异,这里就像可乐的瓶子拧上雪碧的盖子,能拧的上却不美观.所以为了数据的 ...
- 利用HTML5定位功能,实现在百度地图上定位(转)
原文:利用HTML5定位功能,实现在百度地图上定位 代码如下: 测试浏览器:ie11定位成功率100%,Safari定位成功率97%,(add by zhj :在手机上测试(用微信内置浏览器打开),无 ...
- GPS坐标转换为百度地图坐标
/** * GPS坐标转换为百度地图坐标 * 需要引入javabase64.jar 和json的一些包 * */ public class Gps2BaiDu { public static void ...
- GPS坐标转百度地图坐标
百度地图提供了相关API:BMap.Convertor.translate, 但是使用上存在部分限制:1.次数限制:2.异步回调 可以用如下方法: /** * 地图位置计算工具(将GPS坐标转换成百度 ...
- ionic基于GPS定位并通过百度地图获取定位详细信息
相信所有的前端攻城狮都会碰到移动端App.里面获取用户定位信息. 那么问题来了,怎么获取用户的定位信息(经纬度)呢. 当然方法有很多,通过百度地图API 以及 高德地图 API都是可以的.但是两个获取 ...
- Android 百度地图SDK 定位
引用locSDK_6.1.3.jar,切记添加相应的so文件. 1.定位初始化,需要使用getApplicationContext() mLocClient = new LocationClient( ...
- Android应用中使用百度地图API定位自己的位置(二)
官方文档:http://developer.baidu.com/map/sdkandev-6.htm#.E7.AE.80.E4.BB.8B3 百度地图SDK为开发人员们提供了例如以下类型的地图覆盖物: ...
随机推荐
- 自学Python快速入门
1 helloworld#基本语法print("hello") #换行print('1221312\12312312\2312312321312\21312312') ##表示注释 ...
- BZOJ1303 [CQOI2009]中位数图 【乱搞】
1303: [CQOI2009]中位数图 Time Limit: 1 Sec Memory Limit: 162 MB Submit: 3086 Solved: 1898 [Submit][Sta ...
- bzoj1014: [JSOI2008]火星人prefix(splay+hash+二分)
题目大意:一个字符串三个操作:①求两个后缀的LCP②插入一个字符③修改一个字符. 前几天刚学了hash+二分求lcp,就看到这题. 原来splay还能这么用?!原来splay模板这么好写?我以前写的s ...
- spring的RestTemplate使用指南
前言:现在restful接口越来越广泛,而如今很多接口摒弃了传统的配置复杂的webService开发模式,在java领域只需要很简单的springMvc就可以声明为一个控制器,再加上service层, ...
- Javascript中的date对象和getTime()方法
有些时候我们需要计算两个日期间的天数,或者小时数等等.下面用JavaScript实现这个需求,然后学习一下需要用到的一些JavaScript函数. JavaScript程序如下: 1 <scri ...
- jQuery获取元素对象本身的html
Jquery获取html标签,包含该标签本身 2018年04月01日 20:16:10 清--水 阅读数:829 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.c ...
- bzoj 1113 [Poi2008]海报PLA 单调栈
[Poi2008]海报PLA Time Limit: 10 Sec Memory Limit: 162 MBSubmit: 1304 Solved: 896[Submit][Status][Dis ...
- POJ2155 树状数组
Matrix Time Limit: 3000MS Memory Limit: 65536K Total Submissions: 26650 Accepted: 9825 Descripti ...
- Spring知识点复习
Spring知识点复习 一.专业术语 侵入式设计 引入框架,对现有的类的结构有影响,即需要实现或继承某些特定类.如:Struts框架 非侵入式设计 引入框架,对现有的类结构没有影响.如:Hiberna ...
- Activiti工作流——流程表数据转化
任务流程部署: 启动流程实例: 请假人完成请假申请: 部门经理完成审批: 总经理审批完成: