Как добавить динамический PushPin на карту в WP8.1

В настоящее время я пытаюсь разработать простое приложение, которое позволяет пользователю добавлять новые кнопки. В настоящее время я использую следующий код для добавления новых кнопок,

        Pushpin pushpin1 = new Pushpin();

        pushpin1.GeoCoordinate = MyGeoPosition;
        pushpin1.Content = "My car";
        MapOverlay overlay1 = new MapOverlay();
        overlay1.Content = pushpin1;
        overlay1.GeoCoordinate = MyGeoPosition;
        layer1.Add(overlay1);

        myMap.Layers.Add(layer1);

Но, чтобы использовать этот код, мне нужны широта и долгота местоположения, которое выбрал пользователь. Так, как я могу получить широту и долготу местоположения, которое выбрал пользователь. (Просто гео-координата) Я знаю, что мне нужно написать обработчик событий, но я не знаю, как это должно быть реализовано... Спасибо...

2 ответа

Решение

Попробуй это

MapA = new Map();
MapA.Tap += MapA_Tap;

void MapA_Tap(object sender, System.Windows.Input.GestureEventArgs e)
    {
         GeoCoordinate location = MapA.ConvertViewportPointToGeoCoordinate(e.GetPosition(MapA));

 //display pushpin by using location.latitude and location.longitude
}

Есть несколько событий на карте, как

CenterChaged, MapTapped

Вы можете обрабатывать эти события, чтобы добавить свою кнопку. вот пример MapTapped

 async private void map_MapTapped(MapControl sender, MapInputEventArgs args)
    {
       var MyGeoPosition = args.Location;
      //....
    }
Другие вопросы по тегам