void InfoWindowTapped(object sender, GMSMarkerEventEventArgs e) { var map = (Map)Element; // clicked marker var marker = e.Marker; // lookup pin Pin targetPin = null; for (var i = 0; i < map.Pins.Count; i++) { var pin = map.Pins[i]; if (!Object.ReferenceEquals(pin.Id, marker)) { continue; } targetPin = pin; break; } // only consider event handled if a handler is present. // Else allow default behavior of displaying an info window. targetPin?.SendTap(); }
void DraggingMarker(object sender, GMSMarkerEventEventArgs e) { if (_draggingPin != null) { UpdatePositionWithoutMove(_draggingPin, e.Marker.Position.ToPosition()); Map.SendPinDragging(_draggingPin); } }
private void OnInfoLongPressed(object sender, GMSMarkerEventEventArgs e) { var targetPin = LookupPin(e.Marker); if (targetPin != null) { Map.SendInfoWindowLongClicked(targetPin); } }
void OnInfoTapped(object sender, GMSMarkerEventEventArgs e) { // lookup pin var targetPin = LookupPin(e.Marker); // only consider event handled if a handler is present. // Else allow default behavior of displaying an info window. targetPin?.SendTap(); }
private void DraggingMarkerEnded(object sender, GMSMarkerEventEventArgs e) { if (draggingPin != null) { UpdatePositionWithoutMove(draggingPin, e.Marker.Position.ToPosition()); RefreshClusterItem(); Map.SendPinDragEnd(draggingPin); draggingPin = null; } }
private void DraggingMarkerStarted(object sender, GMSMarkerEventEventArgs e) { draggingPin = LookupPin(e.Marker); if (draggingPin != null) { UpdatePositionWithoutMove(draggingPin, e.Marker.Position.ToPosition()); Map.SendPinDragStart(draggingPin); } }
private void OnInfoTapped(object sender, GMSMarkerEventEventArgs e) { var targetPin = LookupPin(e.Marker); targetPin?.SendTap(); if (targetPin != null) { Map.SendInfoWindowClicked(targetPin); } }
void OnTappedInfo(object sender, GMSMarkerEventEventArgs e) { var obj = engine.GetWherigoObject <Thing> (markers.FirstOrDefault(x => x.Value == e.Marker).Key); if (ctrl.activeScreen == ScreenType.Details && ctrl.activeObject == obj) { ctrl.RemoveScreen(ScreenType.Details); ctrl.ShowScreen(ScreenType.Details, obj); } else { ctrl.ShowScreen(ScreenType.Details, obj); } }
private void InfoWindowClosed(object sender, GMSMarkerEventEventArgs e) { var targetPin = LookupPin(e.Marker); try { onMarkerEvent = true; if (targetPin != null && ReferenceEquals(targetPin, Map.SelectedPin)) { Map.SelectedPin = null; } } finally { onMarkerEvent = false; } }
void InfoWindowClosed(object sender, GMSMarkerEventEventArgs e) { var map = (Map)Element; var marker = e.Marker; // lookup pin Pin targetPin = null; for (var i = 0; i < map.Pins.Count; i++) { var pin = map.Pins[i]; if (!Object.ReferenceEquals(pin.Id, marker)) { continue; } targetPin = pin; break; } try { _onMarkerEvent = true; if (targetPin != null) { if (object.ReferenceEquals(map.SelectedPin, targetPin)) { map.SelectedPin = null; } } //else // System.Diagnostics.Debug.WriteLine($"InfoWindowClosed - not match SelectedPin + {map?.SelectedPin?.Label ?? "null"}"); } finally { _onMarkerEvent = false; } }
View = mapView; int typesWidth = 260, typesHeight = 30, distanceFromBottom = 100; mapTypes = new UISegmentedControl(new CGRect(55, View.Bounds.Height - distanceFromBottom, typesWidth, typesHeight)); mapTypes.InsertSegment("Road", 0, false); mapTypes.InsertSegment("Satellite", 1, false); mapTypes.InsertSegment("Hybrid", 2, false); mapTypes.SelectedSegment = 0; // Road is the defaul mapTypes.AutoresizingMask = UIViewAutoresizing.FlexibleTopMargin; mapTypes.ValueChanged += (s, e) => { switch (mapTypes.SelectedSegment) { case 0: mapView.MapType = MapViewType.Normal; break; case 1: mapView.MapType = MapViewType.Satellite; break; case 2: mapView.MapType = MapViewType.Hybrid; break; } }; View.AddSubview(mapTypes); mapView.InfoTapped += new EventHandler<GMSMarkerEventEventArgs>(mapViewTapedInfo); for (int i = 0; i < restData.Count; i++) { MakeMarker(i, restData[i].name, restData[i].latitude, restData[i].longitude, restData[i].address, mapView); } } public Marker MakeMarker(int num, string title, double latitude, double longitude, string address, MapView mv) { Marker marker = new Marker(); marker.Title = title; marker.Snippet = address; marker.Position = new CLLocationCoordinate2D(latitude, longitude); marker.Map = mv; NSNumber pos; pos = num; marker.UserData = pos; return marker; } void mapViewTapedInfo(object sender, GMSMarkerEventEventArgs e) { int index = 0; Marker marker = mapView.SelectedMarker; if (marker.UserData is NSNumber) { var x = (NSNumber)marker.UserData; index = x.UInt16Value; } targetRestData = restData[index]; this.PerformSegue("restDetailFromMap", this); } public override void PrepareForSegue(UIStoryboardSegue segue, NSObject sender) { if (segue.Identifier == "restDetailFromMap") { ((RestDetailTabViewController)segue.DestinationViewController).SetDetailItem(targetRestData); } } public override void DidReceiveMemoryWarning()
private void GoogleMapView_InfoTapped(object sender, GMSMarkerEventEventArgs e) { }
void OnTappedInfo (object sender, GMSMarkerEventEventArgs e) { var obj = engine.GetWherigoObject<Thing> (markers.FirstOrDefault (x => x.Value == e.Marker).Key); if (ctrl.activeScreen == ScreenType.Details && ctrl.activeObject == obj) { ctrl.RemoveScreen (ScreenType.Details); ctrl.ShowScreen(ScreenType.Details, obj); } else ctrl.ShowScreen(ScreenType.Details, obj); }
private void InfoTappedFunction(object sender, GMSMarkerEventEventArgs e) { //throw new NotImplementedException(); }