pc端定位&移动端定位

646 阅读1分钟

pc端定位&移动端定位

1. html5得浏览器定位(http不支持,只能在安全域名https下获取)
  getLocation() {
    var options = {
      enableHighAccuracy: true, // 显示精确定位
      maximumAge: 1000,
    };
    alert("获取位置信息开始--------->");
    if (navigator.geolocation) {
      // 走到这里说明,浏览器支持geolocation,参数里有两个回调函数,一个是定位成功后的处理操作,一个是定位失败后的处理操作,另外一个参数没有研究过
      navigator.geolocation.getCurrentPosition(
        this.onSuccess,
        this.onError,
        options
      );
    } else {
      // 否则浏览器不支持geolocation
      alert("您的浏览器不支持地理位置定位!");
    }
  }
  onSuccess(position) {
    console.log(position);
  }
  onError(error) {
    console.log(error);
  }
2.通过高德地图获取(ip定位),会有一定误差
    let AMap = window.AMap;//(加载地图后获取AMap)
    AMap.service("AMap.Geolocation", () => {
      let geolocation = new AMap.Geolocation({
        enableHighAccuracy: true, //是否使用高精度定位,默认:true
        timeout: 10000, //超过10秒后停止定位,默认:无穷大
        zoomToAccuracy: true, //定位成功后调整地图视野范围使定位位置及精度范围视野内可见,默认:false
        buttonPosition: "LB", //显示定位按钮的位置 ,右下角
      });
      geolocation.getCurrentPosition();
      AMap.event.addListener(geolocation, "complete", this.onSuccess); //返回定位信息
      AMap.event.addListener(geolocation, "error", this.onError); //返回定位出错信息
    });
补充移动端通过高德地图获取(GPS),定位准确