//<Maps:MapItemsControl x:Name="Meters" ItemsSource="{Binding Meters}"> // <Maps:MapItemsControl.ItemTemplate> // <DataTemplate> // <StackPanel Maps:MapControl.NormalizedAnchorPoint="{Binding AnchorPoint}"> // <Button x:Name="MapItemButton" Background="Transparent" Padding="0,-3,-3,0" Content="{Binding MeterInfo.MeterID}" Command="{Binding DataContext.UpdateSelectedMeterCommand, ElementName=Map, Mode=OneWay}" CommandParameter="{Binding MeterInfo.MeterID}"> // </Button> // <Image Maps:MapControl.Location="{Binding Location}"> // <Image.Source> // <BitmapImage UriSource = "{Binding ReadUpdated}" /> // </ Image.Source > // </ Image > // </ StackPanel > // </ DataTemplate > // </ Maps:MapItemsControl.ItemTemplate> // </Maps:MapItemsControl> public object Convert(object value, Type targetType, object parameter, string language) { MeterModelCollection Meters = (MeterModelCollection)value; Uri imgUri = new Uri("ms-appx:///Assets/pushpin_Red.png"); MapItemsControl MapControls = new MapItemsControl(); foreach (MeterModel Meter in Meters) { if (Meter.ReadUpdated) { imgUri = new Uri("ms-appx:///Assets/pushpin_Green.png"); } MapIcon icon = new MapIcon() { Image = RandomAccessStreamReference.CreateFromUri(imgUri), NormalizedAnchorPoint = new Windows.Foundation.Point(0.5, 1.0), Location = new Geopoint(new BasicGeoposition() { Latitude = Meter.MeterInfo.Latitude, Longitude = Meter.MeterInfo.Longitude }), Title = Meter.MeterInfo.MeterId }; MapControls.Items.Add(icon); } return(MapControls.Items); }
private void AddOrUpdateChild(MapItemsControl newControl) { bool done = false; foreach (var itemChild in this.Map.Children) { var control = itemChild as MapItemsControl; if (control.ItemsSource != null) { if (control.ItemsSource.GetType() == newControl.ItemsSource.GetType()) { if (newControl.ItemsSource.GetType() == typeof(List <Friend.All>)) { control.ItemsSource = null; control.ItemsSource = this.Friends; done = true; } } } } if (done == false) { this.Map.Children.Add(newControl); } }
public PushpinManager(MapControl nativeMap, CustomMap formsMap) : base(formsMap) { _nativeMap = nativeMap; _mapItems = new MapItemsControl(); _nativeMap.Children.Add(_mapItems); _pushpinMappings = new Dictionary <MapIcon, int>(); }
private void BindMapItemsControlItemsSource(string name, System.Collections.IEnumerable source) { // Finds the right control. MapItemsControl mapItemsControl = MapExtensions.GetChildren(MapControl) .OfType <MapItemsControl>() .First(mic => mic.Name == name); // Binds the property. mapItemsControl.ItemsSource = source; }
/// <summary> /// Cluster pins on the map /// </summary> public PushpinClusterer(Map map, MapItemsControl mapItemsControl, IEnumerable <IGeoCluster> pins, int distanceTreshold) { _map = map; _mapItemsControl = mapItemsControl; _map.Children.Add(_mapItemsControl); _map.ViewChangeEnded += (s, e) => RenderPins(); _pins = pins.ToList(); _distanceTreshold = distanceTreshold == 0 ? DefaultDistanceTreshold : distanceTreshold; }
public MapControlService(MapControl mapControl, MapItemsControl mapItems, MapItemsControl selectedItems) { _mapControl = mapControl; _mapItems = mapItems; _selectedItems = selectedItems; _mapControl.MapServiceToken = Configuration.MapKey; MapService.ServiceToken = Configuration.MapKey; _geolocator = new MockGeolocator(); var tickets = DataRepository.LoadTicketData(); foreach (var ticket in tickets) { _ticketIcons.Add(new TicketIcon(ticket)); } }
private void ToForgeChildren() { if (children == null) { children = MapExtensions.GetChildren(myMap); marker = children.FirstOrDefault(x => x.GetType() == typeof(UserLocationMarker)) as UserLocationMarker; mapItemsControl = children.FirstOrDefault(x => x.GetType() == typeof(MapItemsControl)) as MapItemsControl; } marker.GeoCoordinate = position.Coordinate.ToGeoCoordinate(); if (pushpins.Count != 0) { mapItemsControl.ItemsSource = pushpins; } }
private static void OnItemsReceived(DependencyObject d, DependencyPropertyChangedEventArgs e) { var map = d as Map; if (map == null) { return; } var mapItems = new MapItemsControl(); mapItems.ItemTemplate = d.GetValue(ClusterItemTemplateProperty) as DataTemplate; var distanceProperty = (int)d.GetValue(ClusterDistanceProperty); var items = e.NewValue as IEnumerable <IGeoCluster>; var cluster = new PushpinClusterer(map, mapItems, items, distanceProperty); }
private static void OnFixUpdateChanged(DependencyObject target, DependencyPropertyChangedEventArgs e) { MapItemsControl mapItemsControl = target as MapItemsControl; ItemsChangedEventHandler itemsChangedEventHandler = null; itemsChangedEventHandler = (object sender, ItemsChangedEventArgs ea) => { if (ea.Action == NotifyCollectionChangedAction.Add) { EventHandler statusChanged = null; statusChanged = new EventHandler(delegate { if (mapItemsControl.ItemContainerGenerator.Status == GeneratorStatus.ContainersGenerated) { mapItemsControl.ItemContainerGenerator.StatusChanged -= statusChanged; int index = ea.Position.Index + ea.Position.Offset; ContentPresenter contentPresenter = mapItemsControl.ItemContainerGenerator.ContainerFromIndex(index) as ContentPresenter; if (VisualTreeHelper.GetChildrenCount(contentPresenter) == 1) { MapLayer mapLayer = GetVisualParent <MapLayer>(mapItemsControl); mapLayer.ForceMeasure(); } else { EventHandler layoutUpdated = null; layoutUpdated = new EventHandler(delegate { if (VisualTreeHelper.GetChildrenCount(contentPresenter) == 1) { contentPresenter.LayoutUpdated -= layoutUpdated; MapLayer mapLayer = GetVisualParent <MapLayer>(mapItemsControl); mapLayer.ForceMeasure(); } }); contentPresenter.LayoutUpdated += layoutUpdated; } } }); mapItemsControl.ItemContainerGenerator.StatusChanged += statusChanged; } }; mapItemsControl.ItemContainerGenerator.ItemsChanged += itemsChangedEventHandler; }
public void Initialize(MapControl mapControl, Action <Type, object> navigateFunction) { _navigateFunction = navigateFunction; var deviceResponderUnit = DataRepository.GetUser(); var mapItems = new MapItemsControl(); var selectedMapItems = new MapItemsControl(); mapControl.Children.Add(mapItems); mapControl.Children.Add(selectedMapItems); _mapService = new MapControlService(mapControl, mapItems, selectedMapItems); _mapService.CreateResponderForPriorityIncidentHandler += _responderManager.CreateResponderForPriorityIncident; _mapService.IncidentDatailsHandler += OnIncidentDetailsNavigated; LoadResponders(); _mapService.LoadResponder(deviceResponderUnit); LoadIncidents(); LoadUserRoles(); IncidentToggleButtonChecked = true; OnIncidentToggleButtonClick(); }
private void BindingMaps(IEnumerable <Venue> venues) { MapItemsControl.Clear(); foreach (var venue in venues) { var layer = new MapLayer(); var canvas = new Button() { BorderThickness = new Thickness(0, 0, 0, 0), Width = 65, Height = 97, Background = new ImageBrush() { ImageSource = new BitmapImage(new Uri( "/Assets/Icons/map.layer.png", UriKind.Relative)) }, Command = new RelayCommand(() => { Messenger.Default.Send(venue, "ChangeLocation"); Messenger.Default.Send(new Uri("/GoBack.xaml", UriKind.Relative), "NavigationRequest"); }) }; layer.Add(new MapOverlay() { Content = canvas, GeoCoordinate = new GeoCoordinate(venue.Lat, venue.Lng) }); MapItemsControl.Add(layer); } Messenger.Default.Send <bool>(true, "MapUpdate"); IsSync = false; }
private void PopulateMap(ItemViewModel pl) { pl.LastUpdate = "Updated: " + pl.UpdatedAt.ToString("f"); pl.Icon = GetSource(pl); pl.Coordinate = new GeoCoordinate(pl.Latitude, pl.Longitude); List <ItemViewModel> places = new List <ItemViewModel>(); places.Add(pl); ObservableCollection <DependencyObject> children = MapExtensions.GetChildren(myMap); MapItemsControl obj = new MapItemsControl(); obj.Items.Clear(); obj.ItemsSource = null; obj = children.FirstOrDefault(x => x is MapItemsControl) as MapItemsControl; if (obj != null && obj.Items.Count == 0) { obj.ItemsSource = places; TbkTitle.Text = pl.Title; TbkReport.Text = pl.Report; TbkUpdated.Text = "Updated: " + pl.UpdatedAt.ToString("f"); } }
private void OnLoadingItemsCompleted(object sender, EventArgs eventArgs) { // Don't care about thats ObservableCollection <DependencyObject> children = Microsoft.Phone.Maps.Toolkit.MapExtensions.GetChildren(map); MapItemsControl itemsControl = children.FirstOrDefault(x => x.GetType() == typeof(MapItemsControl)) as MapItemsControl; // Here ! foreach (GeolocalizableModel item in (this.DataContext as MyViewModel).Items) { Pushpin pushpin = new Pushpin(); switch (item.PushpinTemplate) { case Server.PushpinTemplate.First: pushpin.Template = this.Resources["firstPushpinTemplate"] as ControlTemplate; break; case Server.PushpinTemplate.Second: pushpin.Template = this.Resources["secondPushpinTemplate"] as ControlTemplate; break; case Server.PushpinTemplate.Third: pushpin.Template = this.Resources["thirdPushpinTemplate"] as ControlTemplate; break; default: if (PushpinTemplate != null) { pushpin.Template = PushpinTemplate; } break; } pushpin.Content = item.PushpinContent; pushpin.GeoCoordinate = item.Location; itemsControl.Items.Add(pushpin); } }
private async Task GetFriends() { this.Loading = true; RaisePropertyChanged("Loading"); friends_all = await FriendsRepository.GetFriends(); //Try catch errond om te zorgen dat hij niet crasht bij lege bobs. if (this.friends_all != null) { for (int i = 0; i < friends_all.Count(); i++) { try { Friend.All item = friends_all[i]; if (item.Location == null) { break; } item.VisibleShow = Visibility.Collapsed; item.ShowCommand = new RelayCommand <object>(e => ShowFriend(e)); item.RouteCommand = new RelayCommand <object>(e => mapItem_Friend(e)); item.RouteCommandText = "Toon route"; BasicGeoposition tempbasic = new BasicGeoposition(); //Locaties omzetten en in de tijdelijke posities opslaan. tempbasic.Latitude = ((Location)item.Location).Latitude; tempbasic.Longitude = ((Location)item.Location).Longitude; //Omzetten van tijdelijk punt naar echte locatie (anders krijg je die niet in de mapIconFeestLocation.Location) Geopoint temppoint = new Geopoint(tempbasic); MapIcon mapIconFeestLocation = new MapIcon(); mapIconFeestLocation.Location = temppoint; //Opgehaalde locatie //mapIconFeestLocation.Title = feest.Name; //Naam van het feestje; mapIconFeestLocation.Image = MainViewVM.Pins.UserPin; mapIconFeestLocation.Title = item.User1.ToString(); this.Map.MapElements.Add(mapIconFeestLocation);//Marker op de map zetten. } catch (Exception ex) { } } try { var newControl = new MapItemsControl(); ZoekVrienden vindrit = MainViewVM.MainFrame.Content as ZoekVrienden; newControl.ItemsSource = friends_all; newControl.ItemTemplate = (DataTemplate)vindrit.Resources["FriendsMapTemplate"] as DataTemplate; AddOrUpdateChild(newControl); } catch (Exception) { } this.Friends = friends_all.Take(10).ToList(); this.Loading = false; RaiseAll(); } }
private void AddOrUpdateChild(MapItemsControl newControl) { bool done = false; foreach (var itemChild in this.Map.Children) { var control = itemChild as MapItemsControl; if (control.ItemsSource != null) { if (control.ItemsSource.GetType() == newControl.ItemsSource.GetType()) { if (newControl.ItemsSource.GetType() == typeof(List<Party>)) { control.ItemsSource = null; control.ItemsSource = this.Parties; done = true; } } } } if (done == false) { this.Map.Children.Add(newControl); } }
private async Task GetParties() { parties_all = await PartyRepository.GetParties(); if (parties_all != null) { for (int i = 0; i < parties_all.Count; i++) { try { Party item = parties_all[i]; if (item.Location == null) { break; } item.VisibleShow = Visibility.Collapsed; item.ShowCommand = new RelayCommand<object>(e => ShowParty(e)); item.RouteCommand = new RelayCommand<object>(e => mapItem_Party(e)); item.TakeCommand = new RelayCommand<object>(e => TakeParty(e)); item.RouteCommandText = "Toon route"; if (MainViewVM.USER.IsBob.Value) { item.VisibleTake = Visibility.Collapsed; } else { item.VisibleTake = Visibility.Visible; } BasicGeoposition tempbasic = new BasicGeoposition(); //Locaties omzetten en in de tijdelijke posities opslaan. tempbasic.Latitude = ((Location)item.Location).Latitude; tempbasic.Longitude = ((Location)item.Location).Longitude; //Omzetten van tijdelijk punt naar echte locatie (anders krijg je die niet in de mapIconFeestLocation.Location) Geopoint temppoint = new Geopoint(tempbasic); MapIcon mapIconFeestLocation = new MapIcon(); mapIconFeestLocation.Location = temppoint; //Opgehaalde locatie //mapIconFeestLocation.Title = feest.Name; //Naam van het feestje; mapIconFeestLocation.Image = MainViewVM.Pins.FeestPin; mapIconFeestLocation.Title = item.Name; this.Map.MapElements.Add(mapIconFeestLocation);//Marker op de map zetten. } catch (Exception ex) { } } try { var newControl = new MapItemsControl(); FeestjesOverzicht view = MainViewVM.MainFrame.Content as FeestjesOverzicht; newControl.ItemsSource = parties_all; newControl.ItemTemplate = (DataTemplate)view.Resources["PartiesMapTemplate"] as DataTemplate; AddOrUpdateChild(newControl); } catch (Exception) { } this.Parties = parties_all.Take(10).ToList(); RaiseAll(); } }
private void updateAllPins() { if (this.customPins != null) { int nOdx = 0; int nCount = 0; nCount = this.customPins.Count; for (nOdx = 0; nOdx < nCount; nOdx++) { string sPinLabel = this.customPins[nOdx].Latitude.ToString("F2").Substring(0, 2); MapControl.Location aLoc = new MapControl.Location(this.customPins[nOdx].Latitude, this.customPins[nOdx].Longitude); System.Windows.Media.Brush pinBrush = System.Windows.Media.Brushes.Blue; if (this.customPins[nOdx].BluePin) { pinBrush = System.Windows.Media.Brushes.Blue; } else { /** Orange Push Pin */ pinBrush = System.Windows.Media.Brushes.Orange; } ObservableCollection <Point> somePushpins = new ObservableCollection <Point>(); /** * From Xaml Map Control github code (codeplex) * Pushpins = new ObservableCollection<Point>(); * Pushpins.Add( * new Point * { * Name = "WHV - Eckwarderhörne", * Location = new Location(53.5495, 8.1877) * }); **/ Point aPushPin = new Point { Name = sPinLabel, Location = new MapControl.Location(aLoc.Latitude, aLoc.Longitude) }; System.Windows.Style style = new System.Windows.Style { TargetType = typeof(MapItem) }; style.Setters.Add(new System.Windows.Setter(MapPanel.LocationProperty, aLoc)); style.Setters.Add(new System.Windows.Setter(MapItem.VerticalContentAlignmentProperty, System.Windows.VerticalAlignment.Bottom)); style.Setters.Add(new System.Windows.Setter(MapItem.ForegroundProperty, System.Windows.Media.Brushes.Black)); style.Setters.Add(new System.Windows.Setter(MapItem.BackgroundProperty, pinBrush)); style.Setters.Add(new System.Windows.Setter(MapItem.VisibilityProperty, System.Windows.Visibility.Visible)); System.Windows.FrameworkElementFactory aPin = new FrameworkElementFactory(typeof(MapControl.Pushpin)); aPin.SetValue(MapControl.Pushpin.ContentProperty, sPinLabel); aPin.SetValue(MapControl.Pushpin.ForegroundProperty, System.Windows.Media.Brushes.Black); aPin.SetValue(MapControl.Pushpin.BackgroundProperty, pinBrush); System.Windows.Controls.ControlTemplate ct = new System.Windows.Controls.ControlTemplate(typeof(MapControl.MapItem)); ct.VisualTree = aPin; style.Setters.Add(new System.Windows.Setter(MapItem.TemplateProperty, ct)); somePushpins.Add(aPushPin); MapControl.MapItemsControl aControl = new MapItemsControl { ItemsSource = somePushpins, ItemContainerStyle = style, IsSynchronizedWithCurrentItem = true }; Control.Children.Add(aControl); } } }
private void Map_Loaded(object sender, RoutedEventArgs e) { MapControl map = (MapControl)sender; map.Center = (App.Current as App).GeoLocator.currentPosition.Coordinate.Point; map.ZoomLevel = 13; // Create a small circle to mark the current location. Ellipse myCircle = new Ellipse(); myCircle.Fill = new SolidColorBrush(Colors.Blue); myCircle.Height = 20; myCircle.Width = 20; myCircle.Opacity = 50; MapItemsControl mEl = new MapItemsControl(); MapIcon ii = new MapIcon(); /* // Create a MapOverlay to contain the circle. Map myLocationOverlay = new MapOverlay(); myLocationOverlay.Content = myCircle; myLocationOverlay.PositionOrigin = new Point(0.5, 0.5); myLocationOverlay.GeoCoordinate = myGeoCoordinate;*/ }
private async Task GetUsers() { this.Users = await UsersRepository.GetUsersOnline(); //Try catch errond om te zorgen dat hij niet crasht bij lege bobs. if (this.Users != null) { for (int i = 0; i < this.Users.Count(); i++) { try { User.All item = this.Users[i]; if (item.Location == null) { break; } item.VisibleShow = Visibility.Collapsed; item.ShowCommand = new RelayCommand<object>(e => ShowUser(e)); item.RouteCommand = new RelayCommand<object>(e => mapItem_User(e)); item.RouteCommandText = "Toon route"; BasicGeoposition tempbasic = new BasicGeoposition(); //Locaties omzetten en in de tijdelijke posities opslaan. tempbasic.Latitude = ((Location)item.Location).Latitude; tempbasic.Longitude = ((Location)item.Location).Longitude; //Omzetten van tijdelijk punt naar echte locatie (anders krijg je die niet in de mapIconFeestLocation.Location) Geopoint temppoint = new Geopoint(tempbasic); MapIcon mapIconFeestLocation = new MapIcon(); mapIconFeestLocation.Location = temppoint; //Opgehaalde locatie //mapIconFeestLocation.Title = feest.Name; //Naam van het feestje; mapIconFeestLocation.Image = MainViewVM.Pins.UserPin; mapIconFeestLocation.Title = item.User.ToString(); this.Map.MapElements.Add(mapIconFeestLocation);//Marker op de map zetten. } catch (Exception ex) { } } try { var newControl = new MapItemsControl(); VindRit vindrit = MainViewVM.MainFrame.Content as VindRit; newControl.ItemsSource = this.Users; newControl.ItemTemplate = (DataTemplate)vindrit.Resources["UsersMapTemplate"] as DataTemplate; AddOrUpdateChild(newControl); } catch (Exception) { } RaiseAll(); } }
private async Task GetDestinations() { this.Destinations= await DestinationRepository.GetDestinations(); if (this.Destinations != null && this.Destinations.Count != 0) { VindRitFilterVM.SelectedDestination = this.Destinations.Where(r => r.Default == true).First(); } if (this.Destinations != null) { for (int i = 0; i < this.Destinations.Count(); i++) { try { Users_Destinations item = this.Destinations[i]; if (item.Location == null) { break; } item.VisibleShow = Visibility.Collapsed; item.ShowCommand = new RelayCommand<object>(e => ShowDestination(e)); BasicGeoposition tempbasic = new BasicGeoposition(); //Locaties omzetten en in de tijdelijke posities opslaan. tempbasic.Latitude = ((Location)item.Location).Latitude; tempbasic.Longitude = ((Location)item.Location).Longitude; //Omzetten van tijdelijk punt naar echte locatie (anders krijg je die niet in de mapIconFeestLocation.Location) Geopoint temppoint = new Geopoint(tempbasic); MapIcon mapIconFeestLocation = new MapIcon(); mapIconFeestLocation.Location = temppoint; //Opgehaalde locatie //mapIconFeestLocation.Title = feest.Name; //Naam van het feestje; mapIconFeestLocation.Image = MainViewVM.Pins.HomePin; mapIconFeestLocation.Title = item.Name; this.Map.MapElements.Add(mapIconFeestLocation);//Marker op de map zetten. } catch (Exception ex) { } } try { var newControl = new MapItemsControl(); VindRit vindrit = MainViewVM.MainFrame.Content as VindRit; newControl.ItemsSource = Destinations; newControl.ItemTemplate = (DataTemplate)vindrit.Resources["DestinationsMapTemplate"] as DataTemplate; AddOrUpdateChild(newControl); } catch (Exception) { } RaiseAll(); } }
private void updateAllPins() { if (this.customPins != null) { int nOdx = 0; int nCount = 0; // this.nativeMap.Children.Clear(); // this.nativeMap.MapElements.Clear(); nCount = this.customPins.Count; for (nOdx = 0; nOdx < nCount; nOdx++) { string sPinLabel = this.customPins[nOdx].Latitude.ToString("F2").Substring(0, 2); MapControl.Location aLoc = new MapControl.Location(this.customPins[nOdx].Latitude, this.customPins[nOdx].Longitude); System.Windows.Media.Brush pinBrush = System.Windows.Media.Brushes.Blue; if (this.customPins[nOdx].BluePin) { pinBrush = System.Windows.Media.Brushes.Blue; } else { /** Orange Push Pin */ pinBrush = System.Windows.Media.Brushes.Orange; } ObservableCollection <Point> somePushpins = new ObservableCollection <Point>(); // ObservableCollection<MapControl.Pushpin> somePushpins = new ObservableCollection<MapControl.Pushpin>(); /** * From Xaml Map Control github code (codeplex) * Pushpins = new ObservableCollection<Point>(); * Pushpins.Add( * new Point * { * Name = "WHV - Eckwarderhörne", * Location = new Location(53.5495, 8.1877) * }); **/ Point aPushPin = new Point { // MapControl.Pushpin aPushPin = new MapControl.Pushpin Name = sPinLabel, Location = new MapControl.Location(aLoc.Latitude, aLoc.Longitude) //Content = sPinLabel, //// Location = new MapControl.Location(42.2917° N, 85.5872° W), //Location = aLoc, //Foreground = System.Windows.Media.Brushes.Black, //Visibility = Visibility.Visible }; System.Windows.Style style = new System.Windows.Style { TargetType = typeof(MapItem) }; // style.Setters.Add(new EventSetter(MapItem.TouchDownEvent, new RoutedEventHandler( Map2ItemTouchDown ))); // style.Setters.Add(new System.Windows.Setter( MapItem.LocationProperty, aLoc)); style.Setters.Add(new System.Windows.Setter(MapPanel.LocationProperty, aLoc)); style.Setters.Add(new System.Windows.Setter(MapItem.VerticalContentAlignmentProperty, System.Windows.VerticalAlignment.Bottom)); style.Setters.Add(new System.Windows.Setter(MapItem.ForegroundProperty, System.Windows.Media.Brushes.Black)); style.Setters.Add(new System.Windows.Setter(MapItem.BackgroundProperty, pinBrush)); style.Setters.Add(new System.Windows.Setter(MapItem.VisibilityProperty, System.Windows.Visibility.Visible)); System.Windows.FrameworkElementFactory aPin = new FrameworkElementFactory(typeof(MapControl.Pushpin)); aPin.SetValue(MapControl.Pushpin.ContentProperty, sPinLabel); aPin.SetValue(MapControl.Pushpin.ForegroundProperty, System.Windows.Media.Brushes.Black); aPin.SetValue(MapControl.Pushpin.BackgroundProperty, pinBrush); System.Windows.Controls.ControlTemplate ct = new System.Windows.Controls.ControlTemplate(typeof(MapControl.MapItem)); ct.VisualTree = aPin; style.Setters.Add(new System.Windows.Setter(MapItem.TemplateProperty, ct)); somePushpins.Add(aPushPin); //map.Children.Add(new MapItemsControl { ItemsSource=somePushpins, ItemContainerStyle = MainWindow.PushpinItemStyle }); MapControl.MapItemsControl aControl = new MapItemsControl { ItemsSource = somePushpins, ItemContainerStyle = style, IsSynchronizedWithCurrentItem = true }; //MapControl.Pushpin aPushPinA = new Pushpin { // Content = "My Push Pin A", // Location = new MapControl.Location(21.821, 33.286), // Foreground = System.Windows.Media.Brushes.Blue, // Visibility = Visibility.Visible //}; // map.Children.Add(aPushPinA); Control.Children.Add(aControl); //// MapControl.Location aLoc = new MapControl.Location(this.customPins[nOdx].Latitude, this.customPins[nOdx].Longitude); //// if (this.customPins[nOdx].BluePin) { ////System.Windows.Media.Color aColorBlue = System.Windows.Media.Color.FromRgb(0, 0, 255); ////System.Windows.Media.Color aColorWhite = System.Windows.Media.Color.FromRgb(255, 255, 255); ////MapControl.Pushpin aPin = new MapControl.Pushpin { //// Location = aLoc, //// Background = new System.Windows.Media.SolidColorBrush(aColorBlue), //// Foreground = new System.Windows.Media.SolidColorBrush(aColorWhite) ////}; //Xamarin.Forms.Maps.Pin aNewPin = new Pin(); //aNewPin.Position = new Position(this.customPins[nOdx].Latitude, this.customPins[nOdx].Longitude); //aNewPin.Label = ""; ////Control.Children.Add(aPin); //Element.Pins.Add(aNewPin); //// } else { //// System.Windows.Media.Color aColorOrange = System.Windows.Media.Color.FromRgb(255, 128, 0); //// System.Windows.Media.Color aColorWhite = System.Windows.Media.Color.FromRgb(255, 255, 255); //// MapControl.Pushpin aPin = new MapControl.Pushpin { //// Location = aLoc, //// Background = new System.Windows.Media.SolidColorBrush(aColorOrange), //// Foreground = new System.Windows.Media.SolidColorBrush(aColorWhite) //// }; //////Control.Children.Add(aPin); //// } //// Microsoft.Maps.MapControl.WPF.Location aLoc = new Microsoft.Maps.MapControl.WPF.Location(pin.Position.Latitude, pin.Position.Longitude); //Convert.ToDouble( _myGeocodeInfo[8]),Convert.ToDouble(_myGeocodeInfo[9])); ////Microsoft.Maps.MapControl.WPF.Pushpin aPin = new Microsoft.Maps.MapControl.WPF.Pushpin(); ////Microsoft.Maps.MapControl.WPF.MapLayer.SetPosition(aPin, aLoc); //// Microsoft.Maps.MapControl.WPF.Location aLoc = new Microsoft.Maps.MapControl.WPF.Location(this.customPins[nOdx].Latitude, this.customPins[nOdx].Longitude); //// Microsoft.Maps.MapControl.WPF.Pushpin aPin = new Microsoft.Maps.MapControl.WPF.Pushpin(); //// Microsoft.Maps.MapControl.WPF.MapLayer.SetPosition(aPin, aLoc); ////Control.Children.Add(aPin); ////var snPosition = new BasicGeoposition { Latitude = this.customPins[nOdx].Latitude, Longitude = this.customPins[nOdx].Longitude }; ////var snPoint = new Geopoint(snPosition); ////var mapIcon = new MapIcon(); ////if (this.customPins[nOdx].BluePin) { //// string sUriString = "ms-appx:///bluemappin50.png"; //// mapIcon.Image = RandomAccessStreamReference.CreateFromUri(new Uri(sUriString)); ////} else { //// string sUriString = "ms-appx:///orangemappin50.png"; //// mapIcon.Image = RandomAccessStreamReference.CreateFromUri(new Uri(sUriString)); ////} ////mapIcon.CollisionBehaviorDesired = MapElementCollisionBehavior.RemainVisible; ////mapIcon.Location = snPoint; ////mapIcon.NormalizedAnchorPoint = new Windows.Foundation.Point(0.5, 1.0); ////this.nativeMap.MapElements.Add(mapIcon); } } }
public GlobalPositioningSystemForMap(MapItemsControl mapControl, Map map) { this.mapControl = mapControl; this.map = map; }
private async Task GetParties() { parties_all = await PartyRepository.GetParties(); if (parties_all != null) { for (int i = 0; i < parties_all.Count; i++) { try { Party item = parties_all[i]; if (item.Location == null) { break; } item.VisibleShow = Visibility.Collapsed; item.ShowCommand = new RelayCommand <object>(e => ShowParty(e)); item.RouteCommand = new RelayCommand <object>(e => mapItem_Party(e)); item.TakeCommand = new RelayCommand <object>(e => TakeParty(e)); item.RouteCommandText = "Toon route"; if (MainViewVM.USER.IsBob.Value) { item.VisibleTake = Visibility.Collapsed; } else { item.VisibleTake = Visibility.Visible; } BasicGeoposition tempbasic = new BasicGeoposition(); //Locaties omzetten en in de tijdelijke posities opslaan. tempbasic.Latitude = ((Location)item.Location).Latitude; tempbasic.Longitude = ((Location)item.Location).Longitude; //Omzetten van tijdelijk punt naar echte locatie (anders krijg je die niet in de mapIconFeestLocation.Location) Geopoint temppoint = new Geopoint(tempbasic); MapIcon mapIconFeestLocation = new MapIcon(); mapIconFeestLocation.Location = temppoint; //Opgehaalde locatie //mapIconFeestLocation.Title = feest.Name; //Naam van het feestje; mapIconFeestLocation.Image = MainViewVM.Pins.FeestPin; mapIconFeestLocation.Title = item.Name; this.Map.MapElements.Add(mapIconFeestLocation);//Marker op de map zetten. } catch (Exception ex) { } } try { var newControl = new MapItemsControl(); FeestjesOverzicht view = MainViewVM.MainFrame.Content as FeestjesOverzicht; newControl.ItemsSource = parties_all; newControl.ItemTemplate = (DataTemplate)view.Resources["PartiesMapTemplate"] as DataTemplate; AddOrUpdateChild(newControl); } catch (Exception) { } this.Parties = parties_all.Take(10).ToList(); RaiseAll(); } }