public MainPage() { this.InitializeComponent(); _sessionKey = MyMap.MapServiceToken; MyMap.Loaded += async(s, e) => { try { _pinLayer = new MapControl(); MyMap.Children.Add(_pinLayer); _gpsPin = new UserPushpin(); MyMap.Children.Add(_gpsPin); } catch { // ignored } }; //this.NavigationCacheMode = NavigationCacheMode.Required; }
private async void GpsChanged(BasicGeoposition position) { try { await Dispatcher.RunAsync(CoreDispatcherPriority.Normal, async() => { try { _currentLocation = new Geopoint( new BasicGeoposition() { Latitude = position.Latitude, Longitude = position.Longitude } ); //_poiLocations = null; if (_pinLayer != null) { _pinLayer.Children.Clear(); /* * var poi = * await * NavteqPoiSearch(new Point(_currentLocation.Position.Latitude, * _currentLocation.Position.Longitude)); * if (poi != null && poi.ResultSet != null && * poi.ResultSet.Results != null && * poi.ResultSet.Results.Length > 0) * { * _poiLocations = poi.ResultSet.Results; */ foreach (var r in _poiLocations) { var loc = new Geopoint( new BasicGeoposition() { Latitude = r.Latitude, Longitude = r.Latitude } ); var pin = new UserPushpin(); pin.Tag = r; MapControl.SetLocation(pin, loc); _pinLayer.Children.Add(pin); } MyMap.TrySetViewAsync(_currentLocation, 16); //} MapControl.SetLocation(_gpsPin, _currentLocation); UpdateARView(); } } catch { } }); } catch { } }