簡體   English   中英

在Windows Phone 8.1中實時跟蹤位置

[英]Tracking location in realtime in Windows phone 8.1

抱歉,這是一個愚蠢的問題,我是Windows Phone 8.1開發的初學者。 我正在使用MapControl在地圖上顯示我的當前位置,但是當我移動時,除非單擊按鈕並重新初始化先前創建的圖釘的位置,否則位置不會自動實時更新。 有沒有一種更好的方法可以解決這種情況,而無需用戶每次想查看其當前位置時都按下按鈕。

private async Task setMyLocation() 
        {
            try
            {
                var gl = new Geolocator() { DesiredAccuracy = PositionAccuracy.High };
                Geoposition location = await gl.GetGeopositionAsync(TimeSpan.FromMinutes(5), TimeSpan.FromSeconds(5));
                var pin = new MapIcon()
                {
                    Location = location.Coordinate.Point,
                    Title = "You are here",
                    NormalizedAnchorPoint = new Point() { X = 0, Y = 0 },
                };
                myMapView.MapElements.Add(pin);
                await myMapView.TrySetViewAsync(location.Coordinate.Point, 20);
            }
            catch
            {
                myMapView.Center = new Geopoint(App.centerPin);
                myMapView.ZoomLevel = 20;
                Debug.WriteLine("GPS NOT FOUND");
            }
            App.centerPin = myMapView.Center.Position;
        }

提前致謝!

處理Geolocator.PositionChanged事件,而不是運行計時器和輪詢。 每次位置更改都會觸發此操作,並且效率會大大提高。

您可以設置Geolocator.MovementThreshold屬性,以便僅當用戶移動了給定距離時才會觸發,而如果用戶站在同一位置則不執行任何操作。 您選擇的閾值可能取決於地圖放大的程度。

我要做的方法是放置一個Timer,以給定的時間間隔從服務器請求信息。

看一下這個包含代碼片段的答案Stackoverflow答案

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM