Как добавить точку и отобразить текущую позицию на карте Google - PullRequest
0 голосов
/ 05 мая 2020

У меня есть простое приложение для геолокации в Xamarin, которое показывает мне текущие координаты пользователя. Я хочу обновить свое приложение, чтобы после нажатия кнопки координаты отображались на карте и отображали текущее местоположение. Я использую плагин Xamarin Essentials.

private async void Button_Clicked(object sender, EventArgs e)
{

  try
  {
    var location = await Geolocation.GetLastKnownLocationAsync();
    if (location == null)
    {
      location = await Geolocation.GetLocationAsync(new GeolocationRequest
      {
        DesiredAccuracy = GeolocationAccuracy.Medium,
        Timeout = TimeSpan.FromSeconds(30)
      });
    }

    if (location == null)
      LabelLocation.Text = "No GPS";
    else
      LabelLocation.Text = $"{ location.Latitude } { location.Longitude }";

  }
  catch (Exception ex)
  {
    Debug.WriteLine($"something isnt working: {ex.Message}");
  }

}

1 Ответ

0 голосов
/ 06 мая 2020

Теперь у меня проблема, как показать текущее местоположение пользователя, когда я нажимаю кнопку

После того, как вы получите текущее местоположение, вы можете использовать Map.MoveToRegion для go к текущей позиции на карте.

private async void Button_Clicked2(object sender, EventArgs e)
{

    try
    {
        var location = await Geolocation.GetLastKnownLocationAsync();
        if (location == null)
        {
            location = await Geolocation.GetLocationAsync(new GeolocationRequest
            {
                DesiredAccuracy = GeolocationAccuracy.Medium,
                Timeout = TimeSpan.FromSeconds(30)
            });
        }


        if (location == null)
            LabelLocation.Text = "No GPS";
        else
            LabelLocation.Text = $"{ location.Latitude } { location.Longitude }";

        yourMap.MoveToRegion(MapSpan.FromCenterAndRadius(new Position(location.Latitude, location.Longitude), Xamarin.Forms.GoogleMaps.Distance.FromMiles(5)));

    }
    catch (Exception ex)
    {
        Debug.WriteLine($"something isnt working: {ex.Message}");
    }

}

Обратитесь: move-to-specifici c -location и implementation-google-map-in-xamarin -формы

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...