簡體   English   中英

Xamarin.Forms:Map.IsShowingUser 未顯示當前位置?

[英]Xamarin.Forms: Map.IsShowingUser not showing current location?

這是我正在開發的應用程序的xaml 它只是在屏幕上顯示一個帶有ListView的地圖:

<?xml version="1.0" encoding="utf-8" ?>
<ContentPage xmlns="http://xamarin.com/schemas/2014/forms"
             xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
             xmlns:maps="clr-namespace:Xamarin.Forms.Maps;assembly=Xamarin.Forms.Maps"
             xmlns:local="clr-namespace:GasStations"
             x:Class="GasStations.MainPage">

    <StackLayout>
        <StackLayout VerticalOptions="FillAndExpand">
            <maps:Map WidthRequest="960" HeightRequest="200"
            x:Name="MyMap"
            IsShowingUser="true"/>
            <ListView x:Name="ListView_Pets">
                <ListView.ItemsSource>
                    <x:Array Type="{x:Type x:String}">
                        <x:String>dog</x:String>
                        <x:String>cat</x:String>
                        <x:String>bird</x:String>
                    </x:Array>
                </ListView.ItemsSource>
            </ListView>
        </StackLayout>
    </StackLayout>
</ContentPage>

我設置屬性Map.IsShowingUser="true"認為它會顯示當前位置,但它沒有顯示點。

這就是表格的樣子。 它不顯示當前位置圖釘。

我的問題是:如何將當前位置添加到地圖中?

在此處輸入圖片說明

使用Geolocation 插件獲取您的當前位置。 如果您還沒有它,然后使用 MoveCamera 方法移動到該位置:

private async Task TrackCurrentLocation()
{
var current = await CrossGeolocator.Current.GetPositionAsync();
current.Accuracy = 30;
float bearing =//bearing in case any
var pins = new Pin { Label = "ME", Icon =''yourIcon"), Flat = true 
};
var latitude = current.Latitude;
var longitude = current.Longitude;

Device.BeginInvokeOnMainThread(() =>
{
    pins.Position = new Position(latitude, longitude);
    pins.Rotation = bearing;
    if (MapTrack.Pins.Count == 0)
    {
        MapTrack.Pins.Add(pins);
    }
    else
    {
        MapTrack.Pins[0] = pins;
    }
    MapTrack.MoveCamera(CameraUpdateFactory.NewPosition(new Position(latitude, longitude)));
});
}

暫無
暫無

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

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