private IEnumerator WaitLongPress()
    {
        yield return(new WaitForSeconds(longPressDelay));

        OnlineMapsMarker marker        = null;
        Vector2          inputPosition = GetInputPosition();

        if (this is OnlineMapsControlBase3D && OnlineMapsControlBase3D.instance.marker2DMode == OnlineMapsMarker2DMode.billboard)
        {
            OnlineMapsMarkerInstanceBase instanceBase = OnlineMapsControlBase3D.instance.GetBillboardMarkerFromScreen(inputPosition);
            if (instanceBase != null)
            {
                marker = instanceBase.marker as OnlineMapsMarker;
            }
        }
        else
        {
            marker = map.GetMarkerFromScreen(inputPosition);
        }

        if (marker != null && marker.OnLongPress != null)
        {
            marker.OnLongPress(marker);
        }

        if (OnMapLongPress != null)
        {
            OnMapLongPress();
            isMapDrag = false;
        }

        longPressEnumenator = null;
    }