用HTML5怎样对地理位置获取且在百度地图展示
Admin 2022-07-04 群英技术资讯 1030 次浏览
这篇文章给大家介绍了“用HTML5怎样对地理位置获取且在百度地图展示”的相关知识,讲解详细,步骤过程清晰,有一定的借鉴学习价值,因此分享给大家做个参考,感兴趣的朋友接下来一起跟随小编看看吧。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进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
绘制方法:1、给元素添加“width:横线长度值;height:横线粗细值;background:横线颜色”样式来绘制横线;2、给元素添加“width:竖线粗细值;height:竖线长度值;background:竖线颜色”样式来绘制竖线。
css如何设置指定网格的大小和位置,有不少朋友对此感兴趣,下面小编给大家整理和分享了相关知识和资料,易于大家学习和理解,有需要的朋友可以借鉴参考,下面我们一起来了解一下吧。
这篇文章主要介绍了AmazeUI 单选框和多选框的实现示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
CSS3中Transition,是一个用于动画过度的熟悉,很多刚接触CSS新手对于Transition属性不是很了解,这篇文章就主要介绍Transition属性的使用以及示例
经常听歌的朋友应该都有留意的,一般歌词的进度会跟着音乐的进度滚动显示,而一些歌词还有填充颜色的效果,那么给文字填充颜色的效果是怎样做的呢?下面我们就来看看用css3实现随进度歌词文字左到右填充颜色的示例。
成为群英会员,开启智能安全云计算之旅
立即注册关注或联系群英网络
7x24小时售前:400-678-4567
7x24小时售后:0668-2555666
24小时QQ客服
群英微信公众号
CNNIC域名投诉举报处理平台
服务电话:010-58813000
服务邮箱:service@cnnic.cn
投诉与建议:0668-2555555
Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 ICP核准(ICP备案)粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008