protected override NativeGroundOverlay CreateNativeItem(GroundOverlay outerItem)
        {
            var factory          = _bitmapDescriptorFactory ?? DefaultBitmapDescriptorFactory.Instance;
            var nativeDescriptor = factory.ToNative(outerItem.Icon);

            var opts = new GroundOverlayOptions()
                       .PositionFromBounds(outerItem.Bounds.ToLatLngBounds())
                       .Clickable(outerItem.IsClickable)
                       .InvokeBearing(outerItem.Bearing)
                       .InvokeImage(nativeDescriptor)
                       .InvokeTransparency(outerItem.Transparency)
                       .InvokeZIndex(outerItem.ZIndex);

            var overlay = NativeMap.AddGroundOverlay(opts);

            // If the pin has an IconView set this method will convert it into an icon for the marker
            if (outerItem?.Icon?.Type == BitmapDescriptorType.View)
            {
                overlay.Visible = false; // Will become visible once the iconview is ready.
                TransformXamarinViewToAndroidBitmap(outerItem, overlay);
            }
            else
            {
                overlay.Visible = outerItem.IsVisible;
            }

            // associate pin with marker for later lookup in event handlers
            outerItem.NativeObject = overlay;
            return(overlay);
        }
        protected override NativeGroundOverlay CreateNativeItem(GroundOverlay outerItem)
        {
            var opts = new GroundOverlayOptions()
                       .PositionFromBounds(outerItem.Bounds.ToLatLngBounds())
                       .Clickable(outerItem.IsClickable)
                       .InvokeBearing(outerItem.Bearing)
                       .InvokeImage(outerItem.Icon.ToBitmapDescriptor())
                       .InvokeTransparency(outerItem.Transparency);

            var overlay = NativeMap.AddGroundOverlay(opts);

            // associate pin with marker for later lookup in event handlers
            outerItem.NativeObject = overlay;
            return(overlay);
        }
        protected override NativeGroundOverlay CreateNativeItem(GroundOverlay outerItem)
        {
            var factory          = _bitmapDescriptorFactory ?? DefaultBitmapDescriptorFactory.Instance;
            var nativeDescriptor = factory.ToNative(outerItem.Icon);

            var opts = new GroundOverlayOptions()
                       .PositionFromBounds(outerItem.Bounds.ToLatLngBounds())
                       .Clickable(outerItem.IsClickable)
                       .InvokeBearing(outerItem.Bearing)
                       .InvokeImage(nativeDescriptor)
                       .InvokeTransparency(outerItem.Transparency)
                       .InvokeZIndex(outerItem.ZIndex);

            var overlay = NativeMap.AddGroundOverlay(opts);

            // associate pin with marker for later lookup in event handlers
            outerItem.NativeObject = overlay;
            return(overlay);
        }