wujingjing
2025-04-02 f07405d8787e8bbd43453c81ec4f599dc34153b9
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
import { currentPosition } from '../stores/chatRoom';
 
export function getCurrentPosition() {
    if (currentPosition.value) {
        return Promise.resolve(currentPosition.value);
    }
    const p = new Promise<{
        latitude: number;
        longitude: number;
    }>((resolve, reject) => {
        try {
            const geoLocation = window.plus ? plus.geolocation : navigator.geolocation;
            if (geoLocation) {
                geoLocation.getCurrentPosition(
                    (position) => {
                        const { latitude, longitude } = position.coords;
                        currentPosition.value = {
                            latitude,
                            longitude,
                        };
                        resolve({
                            latitude,
                            longitude,
                        });
                    },
 
                    (error) => {
                        resolve(null);
                    }
                );
            } else {
                console.log('Geolocation is not supported by this browser.');
                resolve(null);
            }
        } catch (error) {
            resolve(null);
        }
    });
    return p;
}