Ejemplo n.º 1
0
        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);
            }
        }
Ejemplo n.º 8
0
        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;
            }
        }
Ejemplo n.º 10
0
        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;
            }
        }
Ejemplo n.º 11
0
			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)
 {
 }
Ejemplo n.º 13
0
		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); 
		}
Ejemplo n.º 14
0
 private void InfoTappedFunction(object sender, GMSMarkerEventEventArgs e)
 {
     //throw new NotImplementedException();
 }