怎么用百度地图api自动获取当前位置(谷歌的也行)

发布网友

我来回答

2个回答

热心网友

用户通过点击地图上面的位置,在地图上面进行描点,然后再把获取的到的地理位置保存到地图上面的地址栏目中。

主要是百度地图API的使用

var map = new BMap.Map("allmap"); //实例化一个地图对象
var point = new 
BMap.Point(116.331398,39.7445); //设置地图中心的位置
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;
    }
});

热心网友

如果是手机上我经常做,都做烦了,网页上就是能根据IP定位,毕竟你没有相关定位能力。手机上可以下载百度的Android定位包,用里面的Location功能获取Lat和Lon,也就是纬度和经度,同时获取的内容有一个叫Addrstr的String类型的变量,里面存的就是你说的位置信息。至于弹窗的话单独做咯~~~~~两句代码就能搞定的东西

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com