博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
H5定位
阅读量:5305 次
发布时间:2019-06-14

本文共 2448 字,大约阅读时间需要 8 分钟。

一.在html文件中引入

其中ak为百度地图秘钥,需去申请

二.js代码

function getLocation ( ){    navigator.geolocation.getCurrentPosition(function (position) {  //H5 api      var lat = position.coords.latitude;      var lon = position.coords.longitude;      var point = new BMap.Point(lon, lat);  // 创建坐标点      // 根据坐标得到地址描述      var myGeo = new BMap.Geocoder();      myGeo.getLocation(point, function (result) {        that.location = result.addressComponents.city;  //获取当前城市      });    });}

1.地图展示
head中引入
body
jsvar map = new BMap.Map("allmap");    // 创建Map实例map.centerAndZoom(new BMap.Point(116.404, 39.915), 11);  // 初始化地图,设置中心点坐标和地图级别map.addControl(new BMap.MapTypeControl());   //添加地图类型控件map.setCurrentCity("北京");          // 设置地图显示的城市 此项是必须设置的map.enableScrollWheelZoom(true);     //开启鼠标滚轮缩放
2.根据城市名设置地图中心点
var map = new BMap.Map("allmap");  // 创建Map实例    map.centerAndZoom("上海",15);      // 初始化地图,用城市名设置地图中心点
3.根据城市名定位
var map = new BMap.Map("allmap");var point = new BMap.Point(116.331398,39.897445);   //默认展示的位置map.centerAndZoom(point,11);function theLocation(){    var city = document.getElementById("cityName").value;   //输入的城市名    if(city != ""){        map.centerAndZoom(city,11);      // 用城市名设置地图中心点    }}
4.根据ip定位
var map = new BMap.Map("allmap");var point = new BMap.Point(116.331398,39.897445);map.centerAndZoom(point,12);function myFun(result){    var cityName = result.name;    map.setCenter(cityName);    alert("当前定位城市:"+cityName);}var myCity = new BMap.LocalCity();myCity.get(myFun);
5.根据浏览器定位
var map = new BMap.Map("allmap");var point = new BMap.Point(116.331398,39.897445);map.centerAndZoom(point,12);var geolocation = new BMap.Geolocation();geolocation.getCurrentPosition(function(r){    if(this.getStatus() == BMAP_STATUS_SUCCESS){        var mk = new BMap.Marker(r.point);        map.addOverlay(mk);        map.panTo(r.point);        alert('您的位置:'+r.point.lng+','+r.point.lat);    }    else {        alert('failed'+this.getStatus());    }        },{enableHighAccuracy: true})//关于状态码//BMAP_STATUS_SUCCESS   检索成功。对应数值“0”。//BMAP_STATUS_CITY_LIST 城市列表。对应数值“1”。//BMAP_STATUS_UNKNOWN_LOCATION  位置结果未知。对应数值“2”。//BMAP_STATUS_UNKNOWN_ROUTE 导航结果未知。对应数值“3”。//BMAP_STATUS_INVALID_KEY   非法密钥。对应数值“4”。//BMAP_STATUS_INVALID_REQUEST   非法请求。对应数值“5”。//BMAP_STATUS_PERMISSION_DENIED 没有权限。对应数值“6”。(自 1.1 新增)//BMAP_STATUS_SERVICE_UNAVAILABLE   服务不可用。对应数值“7”。(自 1.1 新增)//BMAP_STATUS_TIMEOUT   超时。对应数值“8”。(自 1.1 新增)

转载于:https://www.cnblogs.com/huyongyong/p/7079193.html

你可能感兴趣的文章
TileMap
查看>>
JS属性大全
查看>>
java复制文件
查看>>
第一册:lesson seventy nine.
查看>>
GCD的同步异步串行并行、NSOperation和NSOperationQueue一级用dispatch_once实现单例
查看>>
团队作业
查看>>
数据持久化时的小bug
查看>>
mysql中key 、primary key 、unique key 与index区别
查看>>
bzoj2257
查看>>
Linux查看文件编码格式及文件编码转换<转>
查看>>
Leetcode: Find Leaves of Binary Tree
查看>>
Vue 模板解释
查看>>
http://www.bootcss.com/
查看>>
20145308 《网络对抗》 注入shellcode+Return-to-libc攻击 学习总结
查看>>
将多张图片和文字合成一张图片
查看>>
自己动手写ORM(01):解析表达式树生成Sql碎片
查看>>
如何使用USBWebserver在本机快速建立网站测试环境
查看>>
百度Ueditor编辑器的Html模式自动替换样式的解决方法
查看>>
变量提升
查看>>
线性表可用顺序表或链表存储的优缺点
查看>>