как получить широту и долготу из приложения Metro Bing Map для Windows 8

Как я могу получить широту и долготу из места, где я нажимаю/нажимаю на карту?

Я нашел пример с использованием класса GeoCoordinate, но это был образец из мобильной версии Win 7, и этого класса нет в Win 8 Metro.

Я нашел класс Geocoordinate, но он совершенно другой, а также я не могу преобразовать свою карту в этот класс, как в образце.

Мой образец из Win 7 выглядит так

Point p = e.GetPosition(this.MapMain);
GeoCoordinate geo = new GeoCoordinate();
geo = MapMain.ViewportPointToLocation(p);

На данный момент я создал новый проект, добавил карту Bing и установил действие Tapped. Но я понятия не имею и нигде не могу найти, как получить координаты на основе тапа


person Fixus    schedule 26.07.2012    source источник
comment
не смотрите на образцы windows 7 для метро, ​​они очень разные. Примеры геолокации Windows 8 приведены здесь: code.msdn.microsoft.com/windowsapps/Geolocation-2483de66   -  person J.B    schedule 26.07.2012
comment
спасибо, я проверю их как можно скорее   -  person Fixus    schedule 27.07.2012


Ответы (2)


Попробуй это:

Point p = e.GetPosition(this.MainMap);
Location location = new Location();
MainMap.TryPixelToLocation(p, out location);

Переменная местоположения будет иметь значения широты и долготы.

person Diogo Muller    schedule 27.07.2012

Сначала добавьте прослушиватель событий для события click:

Microsoft.Maps.Events.addHandler(карта, 'щелчок', mapClick);

Затем в обработчике событий:

функция mapClick(e) {

if (e.targetType == "map") {

    //Get x and y

    var point = new Microsoft.Maps.Point(e.getX(), e.getY());

    //Convert map point to location

    var location = e.target.tryPixelToLocation(point);

    console.log(location.longitude);

    console.log(location.latitude);
}

}

person Disco Banana    schedule 06.08.2012