校园-江西科技师范大学-前端
shuishen
2023-12-14 e733164e1c779b3aef7245936b9daf7875bf791e
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
/* eslint-disable space-before-function-paren */
/* eslint-disable semi */
/* eslint-disable comma-dangle */
/* eslint-disable quotes */
/*
 * @Author: shuishen 1109946754@qq.com
 * @Date: 2022-10-21 14:09:12
 * @LastEditors: shuishen 1109946754@qq.com
 * @LastEditTime: 2023-08-03 16:51:57
 * @FilePath: \sd-jg-school-web\src\position\position.js
 * @Description:
 *
 * Copyright (c) 2023 by shuishen, All Rights Reserved.
 */
/* eslint-disable no-undef */
/**
 * 高德地图定位
 */
// export const location = {
// undefined
// initMap(id) {
//     // undefined
//     let mapObj = new AMap.Map(id, {});
//     let geolocation;
//     mapObj.plugin(["AMap.Geolocation"], function () {
//         // undefined
//         geolocation = new AMap.Geolocation({
//             // undefined
//             enableHighAccuracy: true, //  是否使用高精度定位,默认:true
//             timeout: 10000, //  超过10秒后停止定位,默认:无穷大
//             maximumAge: 0, // 定位结果缓存0毫秒,默认:0
//             convert: true, // 自动偏移坐标,偏移后的坐标为高德坐标,默认:true
//             showButton: true, //  显示定位按钮,默认:true
//             buttonPosition: "LB", // 定位按钮停靠位置,默认:'LB',左下角
//             buttonOffset: new AMap.Pixel(10, 20), //  定位按钮与设置的停靠位置的偏移量,默认:Pixel(10, 20)
//             showMarker: true, //  定位成功后在定位到的位置显示点标记,默认:true
//             showCircle: true, //  定位成功后用圆圈表示定位精度范围,默认:true
//             panToLocation: true, //  定位成功后将定位到的位置作为地图中心点,默认:true
//             zoomToAccuracy: true, //  定位成功后调整地图视野范围使定位位置及精度范围视野内可见,默认:false
//         });
//         mapObj.addControl(geolocation);
//         geolocation.getCurrentPosition();
//     });
//     return geolocation;
// },
// };
export const location = function (fn) {
  AMap.plugin("AMap.Geolocation", function () {
    var geolocation = new AMap.Geolocation({
      // 是否使用高精度定位,默认:true
      enableHighAccuracy: true,
      // 设置定位超时时间,默认:无穷大
      // timeout: 10000,
      // 定位按钮的停靠位置的偏移量,默认:Pixel(10, 20)
      // buttonOffset: new AMap.Pixel(10, 20),
      //  定位成功后调整地图视野范围使定位位置及精度范围视野内可见,默认:false
      // zoomToAccuracy: true,
      //  定位按钮的排放位置,  RB表示右下
      // buttonPosition: 'RB'
    });
 
    geolocation.getCurrentPosition();
    AMap.event.addListener(geolocation, "complete", onComplete);
    AMap.event.addListener(geolocation, "error", onError);
    function onComplete(data) {
      // data是具体的定位信息
      fn(data);
    }
    function onError(data) {
      // 定位出错
      fn(data);
    }
  });
};