퓨즈[Fusetools] 문서[Docs] 번역

  1. Home
  2. 퓨즈[Fusetools] 문서[Docs] 번역
  3. 자바스크립트 APIs
  4. 위치정보[GeoLocation]

위치정보[GeoLocation]

FuseJS/GeoLocation 모듈 (JS)

위치 서비스를 제공합니다.

위치 정보 서비스를 사용하려면 디바이스 인증이 필요합니다. 프로젝트에 Fuse.GeoLocation 패키지를 포함하면 앱이 시작될 때이 승인 메시지가 표시됩니다.

startListening을 사용하여 지속적인 위치 업데이트를 얻으십시오. 일회성 위치 요청에 대해서는 location 또는 getLocation을 사용하십시오.

이 기능을 사용하려면 프로젝트 파일에서 “Fuse.GeoLocation”에 대한 참조를 추가해야 합니다.

이 모듈은 EventEmitter이므로 EventEmitter의 메서드를 사용하여 이벤트를 수신할 수 있습니다.

예제

다음 예제에서는 다양한 작동 모드를 사용하는 방법을 보여줍니다:

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
<JavaScript>
    var Observable = require("FuseJS/Observable");
    var GeoLocation = require("FuseJS/GeoLocation");

    // Immediate
    var immediateLocation = JSON.stringify(GeoLocation.location);

    // Timeout
    var timeoutLocation = Observable("");
    var timeoutMs = 5000;
    GeoLocation.getLocation(timeoutMs).then(function(location) {
        timeoutLocation.value = JSON.stringify(location);
    }).catch(function(fail) {
        console.log("getLocation fail " + fail);
    });

    // Continuous
    var continuousLocation = GeoLocation.observe("changed").map(JSON.stringify);

    function startContinuousListener() {
        var intervalMs = 1000;
        var desiredAccuracyInMeters = 10;
        GeoLocation.startListening(intervalMs, desiredAccuracyInMeters);
    }

    function stopContinuousListener() {
        GeoLocation.stopListening();
    }

    module.exports = {
        immediateLocation: immediateLocation,
        timeoutLocation: timeoutLocation,
        continuousLocation: continuousLocation,

        startContinuousListener: startContinuousListener,
        stopContinuousListener: stopContinuousListener
    };
</JavaScript>

<StackPanel>
    <Text>Immediate:</Text>
    <Text Value="{immediateLocation}" />

    <Text>Timeout:</Text>
    <Text Value="{timeoutLocation}" />

    <Text>Continuous:</Text>
    <Text Value="{continuousLocation}" />

    <Button Text="Start continuous listener" Clicked="{startContinuousListener}" />
    <Button Text="Stop continuous listener" Clicked="{stopContinuousListener}" />
</StackPanel>

이 모듈이 반환하는 위치는 다음 형식의 JavaScript 객체입니다:

1
2
3
4
5
{
    latitude: a number measured in decimal degrees,
    longitude: a number measured in decimal degrees,
    accuracy: a number measured in meters
}

GeoLocation의 인터페이스

링크로 대신합니다: https://www.fusetools.com/docs/fuse/geolocation/geolocation#section-table-of-contents

Was this article helpful to you? Yes No

How can we help?