用HTML5怎样对地理位置获取且在百度地图展示
Admin 2022-07-04 群英技术资讯 288 次浏览
1.HTML5获取当前地理位置
HTML5 Geolocation API(地理位置应用程序接口)可以获取当前地理位置,手机端使用GPS,电脑则根据网络定位
检查浏览器是否支持HTML5 Geolocation API
<script type="text/javascript"> if(navigator.geolocation){ alert('浏览器支持GeoLocation!'); }else{ alert('浏览器不支持GeoLocation!'); } </script>
提供了3个调用方法
// 获取用户当前位置 void getCurrentPosition(onSuccess, onError, options); // 持续获取用户当前位置,showLocation表示回调方法 int watchPosition(showLocation, onError, options); // 取消监控, watchId 为watchPosition返回值 void clearWatch(watchId);
onSuccess 成功后回调方法(必选)
onError 失败回调方法(可选)
options 其他参数(可选)
options = { enableHighAccuracy, // boolean,是否要求高精度的地理信息 timeout, // 最大等待时间,默认0毫秒 maximumAge // 应用程序缓存时间 }
2.调用百度地图展示
<!DOCTYPE html> <html> <head> <meta charset="utf-8"/> <title>基于HTML5查找地理位置并调用百度API展示</title> <script type="text/javascript" src="http://api.map.baidu.com/api?v=1.2"></script> <script type="text/javascript"> // 调用HTML5 GeoLocation API获取地理位置 function getLocation(){ document.getElementById('container').innerHTML = '正在搜寻中,请稍候。。。'; var options = { enableHighAccuracy:true, maximumAge:1000 } if(navigator.geolocation){ //浏览器支持geolocation navigator.geolocation.getCurrentPosition(onSuccess,onError,options); }else{ //浏览器不支持geolocation alert('浏览器不支持GeoLocation!'); } } // 获取成功 function onSuccess(position){ // 经度 var longitude =position.coords.longitude; // 纬度 var latitude = position.coords.latitude; // 使用百度地图API创建地图实例 var map =new BMap.Map("container"); // 创建一个坐标 var point =new BMap.Point(longitude,latitude); // 地图初始化,设置中心点坐标和地图级别 map.centerAndZoom(point, 16); // 设置标注的图标,可自己定义图标 var icon = new BMap.Icon("http://api.map.baidu.com/img/markers.png", new BMap.Size(23, 25), { offset: new BMap.Size(10, 25), // 定位图标尺寸 imageOffset: new BMap.Size(0, 0 - 11 * 25) // 设置图片偏移 }); // 设置标注的经纬度 var marker = new BMap.Marker(new BMap.Point(longitude,latitude),{icon:icon}); // 把标注添加到地图上 map.addOverlay(marker); // 设置点击事件 marker.addEventListener("click", function(){ alert("经度:" + longitude + ", 纬度:" + latitude); }); } // 获取失败 function onError(error){ switch(error.code){ case 1: alert("位置服务被拒绝"); break; case 2: alert("暂时获取不到位置信息"); break; case 3: alert("获取信息超时"); break; case 4: alert("未知错误"); break; } } window.onload = getLocation; </script> </head> <body> <div id="container" style="width:640px;height:640px"></div> </body> </html>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
CSS3中Transition,是一个用于动画过度的熟悉,很多刚接触CSS新手对于Transition属性不是很了解,这篇文章就主要介绍Transition属性的使用以及示例
css中BFC布局规则:1、BFC是页面上隔离的独立容器,容器中的子元素不会影响外部元素。反之亦然。2、BFC区域不会与浮动盒重叠。3、浮动元素在计算BFC高度时也参与计算。
用四位数串来表示权重。每个数字代表一个级别,从左到右,级别依次降低,级别之间没有进位。继承风格的权重为0。行内风格的权重大于所有选择器。
这篇文章给大家分享的是有关BEM的内容。一些朋友可能对BEM是什么,BEM的用法等等不是很了解,因此本文就给大家详细介绍一下BEM,感兴趣的朋友就继续往下看吧。
不到万不得已的时候千万别引入前端UI框架,因为HTML5和CSS3已经能实现绝大多数的功能,比如上期的《CSS实现最简洁的开关》而很多人的思维还停留在web2.0时代,用各种库来做UI,导致
成为群英会员,开启智能安全云计算之旅
立即注册Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008