private void ShowMarkers()
        {
            if (AddressSelectionMode == AddressSelectionMode.DropoffSelection)
            {
                var currentState = ((HomeViewModel)ViewModel.Parent).CurrentViewState;

                if (currentState == HomeViewModelState.BookingStatus || currentState == HomeViewModelState.ManualRidelinq)
                {
                    return;
                }

                SetAnnotation(DestinationAddress, _destinationAnnotation, false);
                SetOverlay(_pickupCenterPin, false);
                SetOverlay(_dropoffCenterPin, true);

                SetAnnotation(PickupAddress, _pickupAnnotation, PickupAddress.HasValidCoordinate());
            }
            else if (AddressSelectionMode == AddressSelectionMode.PickupSelection)
            {
                var currentState = ((HomeViewModel)ViewModel.Parent).CurrentViewState;

                if (currentState == HomeViewModelState.BookingStatus || currentState == HomeViewModelState.ManualRidelinq)
                {
                    // Don't display movable pickup or dropoff pins
                    return;
                }

                SetAnnotation(PickupAddress, _pickupAnnotation, false);
                SetOverlay(_dropoffCenterPin, false);
                SetOverlay(_pickupCenterPin, true);

                SetAnnotation(DestinationAddress, _destinationAnnotation, DestinationAddress.HasValidCoordinate());
            }
            else
            {
                SetOverlay(_pickupCenterPin, false);
                SetOverlay(_dropoffCenterPin, false);

                SetAnnotation(DestinationAddress, _destinationAnnotation, DestinationAddress.HasValidCoordinate());

                SetAnnotation(PickupAddress, _pickupAnnotation, PickupAddress.HasValidCoordinate());
            }
        }
        private void ShowMarkers()
        {
            if (AddressSelectionMode == AddressSelectionMode.DropoffSelection)
            {
                var position = new Position {
                    Latitude = PickupAddress.Latitude, Longitude = PickupAddress.Longitude
                };

                _destinationPin.Visible        = false;
                _pickupOverlay.Visibility      = ViewStates.Invisible;
                _destinationOverlay.Visibility = ViewStates.Visible;

                if (PickupAddress.HasValidCoordinate())
                {
                    _pickupPin.Visible  = true;
                    _pickupPin.Position = new LatLng(position.Latitude, position.Longitude);
                }
                else
                {
                    _pickupPin.Visible = false;
                }
            }
            else if (AddressSelectionMode == AddressSelectionMode.PickupSelection)
            {
                _pickupPin.Visible             = false;
                _destinationOverlay.Visibility = ViewStates.Invisible;
                _pickupOverlay.Visibility      = ViewStates.Visible;

                if (DestinationAddress.HasValidCoordinate())
                {
                    var position = new Position {
                        Latitude = DestinationAddress.Latitude, Longitude = DestinationAddress.Longitude
                    };
                    _destinationPin.Visible  = true;
                    _destinationPin.Position = new LatLng(position.Latitude, position.Longitude);
                }
                else
                {
                    _destinationPin.Visible = false;
                }
            }
            else
            {
                _destinationOverlay.Visibility = ViewStates.Gone;
                _pickupOverlay.Visibility      = ViewStates.Gone;


                if (PickupAddress.HasValidCoordinate())
                {
                    var position = new Position {
                        Latitude = PickupAddress.Latitude, Longitude = PickupAddress.Longitude
                    };
                    _pickupPin.Visible  = true;
                    _pickupPin.Position = new LatLng(position.Latitude, position.Longitude);
                }
                else
                {
                    _pickupPin.Visible = false;
                }

                if (DestinationAddress.HasValidCoordinate())
                {
                    var position = new Position {
                        Latitude = DestinationAddress.Latitude, Longitude = DestinationAddress.Longitude
                    };
                    _destinationPin.Visible  = true;
                    _destinationPin.Position = new LatLng(position.Latitude, position.Longitude);
                }
                else
                {
                    _destinationPin.Visible = false;
                }
            }
        }
Example #3
0
        private void ShowMarkers()
        {
            if (AddressSelectionMode == AddressSelectionMode.DropoffSelection)
            {
                var position = new LatLng(PickupAddress.Latitude, PickupAddress.Longitude);

                _destinationPin.Marker.Remove();
                _pickupOverlay.Visibility      = ViewStates.Invisible;
                _destinationOverlay.Visibility = ViewStates.Visible;

                if (PickupAddress.HasValidCoordinate())
                {
                    _pickupPin.Marker.Remove();
                    _pickupPin.InvokeIcon(_hailIcon);
                    _pickupPin.InvokePosition(GetMarkerPositionWithAnchor(position, _pickupPin.Icon));
                    Map.AddMarker(_pickupPin);
                }
                else
                {
                    _pickupPin.Marker.Remove();
                }
            }
            else if (AddressSelectionMode == AddressSelectionMode.PickupSelection)
            {
                _pickupPin.Marker.Remove();
                _destinationOverlay.Visibility = ViewStates.Invisible;
                _pickupOverlay.Visibility      = ViewStates.Visible;

                if (DestinationAddress.HasValidCoordinate())
                {
                    var position = new LatLng(DestinationAddress.Latitude, DestinationAddress.Longitude);
                    _destinationPin.Marker.Remove();
                    _destinationPin.InvokeIcon(_destinationIcon);
                    _destinationPin.InvokePosition(GetMarkerPositionWithAnchor(position, _destinationPin.Icon));
                    Map.AddMarker(_destinationPin);
                }
                else
                {
                    _destinationPin.Marker.Remove();
                }
            }
            else
            {
                _destinationOverlay.Visibility = ViewStates.Gone;
                _pickupOverlay.Visibility      = ViewStates.Gone;


                if (PickupAddress.HasValidCoordinate())
                {
                    var position = new LatLng(PickupAddress.Latitude, PickupAddress.Longitude);
                    _pickupPin.Marker.Remove();
                    _pickupPin.InvokeIcon(_hailIcon);
                    _pickupPin.InvokePosition(GetMarkerPositionWithAnchor(position, _pickupPin.Icon));
                    Map.AddMarker(_pickupPin);
                }
                else
                {
                    _pickupPin.Marker.Remove();
                }

                if (DestinationAddress.HasValidCoordinate())
                {
                    var position = new LatLng(DestinationAddress.Latitude, DestinationAddress.Longitude);
                    _destinationPin.Marker.Remove();
                    _destinationPin.InvokeIcon(_destinationIcon);
                    _destinationPin.InvokePosition(GetMarkerPositionWithAnchor(position, _destinationPin.Icon));
                    Map.AddMarker(_destinationPin);
                }
                else
                {
                    _destinationPin.Marker.Remove();
                }
            }
        }