shuishen
2022-04-29 4f55f7d94198eca8eba9ae6b85af19a07cac2f79
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
/**
* 高德地图定位
*/
// 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);
        }
    })
};