怎么用百度地图api自动获取当前位置(谷歌的也行)
我在一些网站看到一个功能,就是用户点击图标获取当前位置,手机或电脑弹框,是否允许XX程序获取当前位置,用户点击确定后,用户的当前位置信息比如(北京市XX区XX街道)就显示...
我在一些网站看到一个功能,就是用户点击图标获取当前位置,手机或电脑弹框,是否允许XX程序获取当前位置,用户点击确定后,用户的当前位置信息比如(北京市XX区XX街道)就显示在前面的文本框内,这个功能就是为了提高用户的体验。不用手动输入。请问有没有人做过这个功能。。。我在百度地图API找了半天都没有这个功能,有一个根据IP地址获取当前位置,但是只是获取到市这个级别,不好用。
展开
推荐于2016-10-07 · 知道合伙人互联网行家
关注
展开全部
用户通过点击地图上面的位置,在地图上面进行描点,然后再把获取的到的地理位置保存到地图上面的地址栏目中。
主要是百度地图API的使用
var map = new BMap.Map("allmap"); //实例化一个地图对象
var point = new
BMap.Point(116.331398,39.897445); //设置地图中心的位置
map.centerAndZoom(point,12);
//设置地图元素的可视层
map.enableScrollWheelZoom();
//启用滚轮放大缩小,默认禁用
map.enableContinuousZoom();
//启用地图惯性拖拽,默认禁用
function myFun(result){
var cityName =
result.name;
map.setCenter(cityName);
}
var myCity = new
BMap.LocalCity();
myCity.get(myFun);
i=0
//点击获取坐标
map.addEventListener("click",function(e){
if(i === 0)
{
//存储经纬度
lng = e.point.lng;
lat =
e.point.lat;
//在地图上面描点
var marker = new BMap.Marker(new
BMap.Point(lng,lat)); // 创建标注
map.addOverlay(marker);
marker.enableDragging(); //可拖拽
var gc = new
BMap.Geocoder();
//获取地址的数据地址
var pt = e.point;
gc.getLocation(pt, function(rs){
var addComp =
rs.addressComponents;
address = addComp.province + addComp.city +
addComp.district + addComp.street + addComp.streetNumber;
//画图
var label = new BMap.Label(address,{offset:new
BMap.Size(20,-10)});
marker.setLabel(label);
});
i=1;
}
});
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询