由于微信7.0版本升级了对https的安全限制,在微信7.0版本及以上版本使用http协议访问定位组件会导致定位失败。开发者如遇到上述问题,请切换至https协议访问,亲测,有效噢!话不多说,直接上代码。
先引入
<script type="text/javascript" src="//api.map.baidu.com/api?v=2.0&ak=你的key">/script>
<script type="text/javascript">
var map = new BMap.Map("allmap");//创建Map实例,注意页面中一定要有个id为allmp的div
var point = new BMap.Point(116.331398,39.897445);//创建定坐标
map.centerAndZoom(point,12); 初始化地图,设置中心点坐标和地图级别
var geolocation = new BMap.Geolocation();
var gc = new BMap.Geocoder();//创建地理编码器
// 开启SDK辅助定位
geolocation.enableSDKLocation();
geolocation.getCurrentPosition(function(r){
if(this.getStatus() == BMAP_STATUS_SUCCESS){
var mk = new BMap.Marker(r.point);
map.addOverlay(mk);
map.panTo(r.point);
var pt = r.point;
map.panTo(pt);//移动地图中心点
gc.getLocation(pt, function(rs){
var addComp = rs.addressComponents;
alert(addComp.province + addComp.city + addComp.district);
});
}
else {
alert('failed'+this.getStatus());
}
});
</script>
如有问题,请加qq群:953112936