Как добавить динамический 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;
//....
}