Как я могу невидимый вид карты на навигацию - PullRequest
0 голосов
/ 28 апреля 2020

Я пробую демонстрационное приложение для навигации. Я использую кнопку, вид карты и вид навигации одинакового макета. Когда макет создан, инициализация просмотра карты для получения точки назначения и рисования маршрута из текущего местоположения Затем при нажатии на кнопку «Пуск», навигация начинает навигацию. Сценарий работает нормально.

Но есть проблема, когда навигационное представление начало перемещаться, представление карт не go. Просто вид карты остается навигационным.

Я добавил скриншоты.

Первый экран

Начало навигации

My Layout xml код:

<Button
    android:id="@+id/button_Navigate"
    android:layout_width="410dp"
    android:layout_height="63dp"
    android:layout_marginStart="144dp"
    android:layout_marginTop="36dp"
    android:text="Start Navigate"
    app:layout_constraintStart_toStartOf="parent"
    app:layout_constraintTop_toTopOf="parent" />

<androidx.cardview.widget.CardView
    android:id="@+id/card_viewMap"
    android:layout_width="500dp"
    android:layout_height="500dp"
    android:layout_marginTop="148dp"
    android:layout_marginEnd="60dp"
    app:layout_constraintEnd_toEndOf="parent"
    app:layout_constraintTop_toTopOf="parent"
    card_view:cardCornerRadius="0dp">

    <com.mapbox.mapboxsdk.maps.MapView
        android:id="@+id/mapView"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        mapbox:mapbox_cameraZoom="17"></com.mapbox.mapboxsdk.maps.MapView>
</androidx.cardview.widget.CardView>

<androidx.cardview.widget.CardView
    android:id="@+id/card_viewNavigate"
    android:layout_width="1000dp"
    android:layout_height="500dp"
    android:layout_marginTop="148dp"
    android:layout_marginEnd="60dp"
    app:layout_constraintEnd_toEndOf="parent"
    app:layout_constraintTop_toTopOf="parent"
    card_view:cardCornerRadius="0dp">

    <com.mapbox.services.android.navigation.ui.v5.NavigationView
        android:id="@+id/navigationView"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"

        android:visibility="visible"></com.mapbox.services.android.navigation.ui.v5.NavigationView>

</androidx.cardview.widget.CardView>

И я попробовал все, что касается функций setVisibility (View.INVISIBLE) или yieldtoFront (), но та же проблема.

1 Ответ

0 голосов
/ 30 апреля 2020

Закрой свой

<androidx.cardview.widget.CardView
    android:id="@+id/card_viewMap"
    android:layout_width="500dp"
    android:layout_height="500dp"
    android:layout_marginTop="148dp"
    android:layout_marginEnd="60dp"
    app:layout_constraintEnd_toEndOf="parent"
    app:layout_constraintTop_toTopOf="parent"
    card_view:cardCornerRadius="0dp">

    <com.mapbox.mapboxsdk.maps.MapView
        android:id="@+id/mapView"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        mapbox:mapbox_cameraZoom="17"></com.mapbox.mapboxsdk.maps.MapView>
</androidx.cardview.widget.CardView>

с помощью FrameLayout .

Изменения:

 <FrameLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content">

    <androidx.cardview.widget.CardView
        android:id="@+id/card_viewMap"
        android:layout_width="500dp"
        android:layout_height="500dp"
        android:layout_marginTop="148dp"
        android:layout_marginEnd="60dp"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintTop_toTopOf="parent"
        card_view:cardCornerRadius="0dp">

        <com.mapbox.mapboxsdk.maps.MapView
            android:id="@+id/mapView"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            mapbox:mapbox_cameraZoom="17"></com.mapbox.mapboxsdk.maps.MapView>
    </androidx.cardview.widget.CardView>
    </FrameLayout>
...