/// <summary>
        /// Function called when a pin get clicked.
        /// </summary>
        /// <param name="sender">The sender.</param>
        /// <param name="e">The element.</param>
        private void OnPinClicked(object sender, MarkerClickEventArgs e)
        {
            var       item = this.MarkerOptionsPinLinkDictionary.FirstOrDefault(i => i.Value.Id.Equals(e.Marker.Title));
            CustomPin pin  = item.Value;

            if (customMap.PinClickedCallbackSource == CustomMap.PinClickedCallbackSourceEnum.Map)
            {
                customMap.PinClickedCallback(pin);
            }
            else
            {
                pin.PinClickedCallback(pin);
            }
        }
        /// <summary>
        /// Function called when a pin get clicked.
        /// </summary>
        /// <param name="sender">The sender.</param>
        /// <param name="ea">The element.</param>
        private void OnPinClicked(MapControl sender, MapElementClickEventArgs ea)
        {
            MapIcon   mapIconClicked = ea.MapElements.FirstOrDefault(x => x is MapIcon) as MapIcon;
            CustomPin pin            = (MapIconPinLinkDictionary[mapIconClicked] as CustomPin);

            if (customMap.PinClickedCallbackSource == CustomMap.PinClickedCallbackSourceEnum.Map)
            {
                customMap.PinClickedCallback(pin);
            }
            else
            {
                pin.PinClickedCallback(pin);
            }
        }