html5 百度地图 手机自动获取地理位置值,利用百度lbs和html5定位手机地理位置

主要用到html5来获取手机的GPS的经纬度,然后再利用百度地图api接口获取具体位置

代码如下

body, html{width: 100%;height: 100%;margin:0;font-family:"微软雅黑";}

#allmap{height:500px;width:100%;}

#r-result{width:100%; font-size:14px;}

城市名定位
具体地址

function getLocation() {

//获取GPS坐标

if (navigator.geolocation) {

navigator.geolocation.getCurrentPosition(showMap, handleError, { enableHighAccuracy: true, maximumAge: 1000 });

} else {

alert("您的浏览器不支持使用HTML 5来获取地理位置服务");

}

}

function showMap(value) {

var longitude = value.coords.longitude;

var latitude = value.coords.latitude;

// alert('维度:'+latitude+',经度:'+longitude);

// 百度地图API功能

var map = new BMap.Map("allmap");

map.centerAndZoom(new BMap.Point(116.412092,40.05657),11);

map.enableScrollWheelZoom(true);

map.clearOverlays();

var new_point = new BMap.Point(longitude,latitude);

var marker = new BMap.Marker(new_point); // 创建标注

map.addOverlay(marker); // 将标注添加到地图中

map.panTo(new_point);

//根据坐标逆解析地址

var geoc = new BMap.Geocoder();

geoc.getLocation(new_point, function(rs){

var addComp = rs.addressComponents;

var address = addComp.province + ", " + addComp.city + ", " + addComp.district + ", " + addComp.street + ", " + addComp.streetNumber;

$("#address").html(address);

});

}

function handleError(value) {

switch (value.code) {

case 1:

alert("位置服务被拒绝");

break;

case 2:

alert("暂时获取不到位置信息");

break;

case 3:

alert("获取信息超时");

break;

case 4:

alert("未知错误");

break;

}

}

function init() {

getLocation();

}

window.onload = init;

效果如图

61bb6c15320cda2e305c8f5425bac535.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值