Маркер не отображается должным образом на карте - PullRequest
0 голосов
/ 04 декабря 2018

Я делаю транспортное приложение для водителя.Я хочу показывать остановки с именем точно так же, как этот дизайн.

Design

Я использую RelativeLayout для этого, но после запуска приложения имя остановки также появляется вcenter. enter image description here

Фактическая реализация выглядит следующим образом.

Это мой маркерный макет.

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#00000000"
android:layout_gravity="center_horizontal"
>

<TextView
    android:id="@+id/txtStop"
    android:text="test"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:background="@drawable/patch"
    android:paddingLeft="20dp"
    android:paddingRight="20dp"
    android:paddingTop="10dp"
    android:paddingBottom="10dp"
    android:textStyle="bold"
    android:textSize="18sp"
    android:layout_centerHorizontal="true"
    android:layout_toRightOf="@+id/imgMarker" />
<ImageView
    android:id="@+id/imgMarker"
    android:src="@drawable/icon_marker_stops"
    android:layout_width="45dp"
    android:layout_height="45dp"
    android:layout_below="@+id/txtStop"
    android:layout_centerHorizontal="true" />
  </RelativeLayout>

Ответы [ 2 ]

0 голосов
/ 04 декабря 2018

Вы можете добавить свой вид в качестве маркера на карту.сначала вы можете преобразовать желаемый вид в растровое изображение, основываясь на этом коде: https://stackoverflow.com/a/9595919/7261183, а затем добавить свой выходной растровый рисунок в качестве маркера в растровое изображение в любом месте.

вы можете поместить что-нибудь в вид маркеракак это:

<androidx.constraintlayout.widget.ConstraintLayout
        android:id="@+id/constraint"
        xmlns:android="http://schemas.android.com/apk/res/android"
                                             xmlns:app="http://schemas.android.com/apk/res-auto"
                                             android:layout_width="wrap_content"
                                             android:layout_height="wrap_content"
                                             android:layout_gravity="center_horizontal"
                                             android:background="#00000000">

<TextView
        android:id="@+id/txtStop"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginStart="4dp"
        android:background="@color/txtColor"
        android:paddingLeft="20dp"
        android:paddingTop="10dp"
        android:paddingRight="20dp"
        android:paddingBottom="10dp"
        android:text="test"
        android:textSize="18sp"
        android:textStyle="bold"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent" />

    <android.support.v4.widget.Space
            android:id="@+id/marginSpacer"
            android:layout_width="0dp"
            android:layout_height="0dp"
            android:layout_marginBottom="8dp"
            app:layout_constraintBottom_toBottomOf="@+id/txtStop" />
<ImageView
        android:id="@+id/imgMarker"
        android:layout_width="32dp"
        android:layout_height="32dp"
        android:layout_below="@+id/txtStop"
        android:src="@drawable/marker"
        app:layout_constraintStart_toEndOf="@id/txtStop"
        app:layout_constraintTop_toBottomOf="@id/marginSpacer"
        />
</androidx.constraintlayout.widget.ConstraintLayout>
0 голосов
/ 04 декабря 2018

Попробуйте этот код:

  <android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:background="#00000000">

<TextView
    android:id="@+id/txtStop"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_marginStart="4dp"
    android:background="@drawable/patch"
    android:paddingLeft="20dp"
    android:paddingTop="10dp"
    android:paddingRight="20dp"
    android:paddingBottom="10dp"
    android:text="test"
    android:textSize="18sp"
    android:textStyle="bold"
    app:layout_constraintRight_toRightOf="parent"
    app:layout_constraintStart_toEndOf="@+id/imgMarker"
    app:layout_constraintTop_toTopOf="parent" />

<ImageView
    android:id="@+id/imgMarker"
    android:layout_width="45dp"
    android:layout_height="45dp"
    android:layout_below="@+id/txtStop"
    android:layout_marginTop="25dp"
    android:src="@drawable/icon_marker_stops"
    app:layout_constraintBottom_toBottomOf="parent"
    app:layout_constraintLeft_toLeftOf="parent"
    app:layout_constraintRight_toRightOf="parent"
    app:layout_constraintTop_toTopOf="parent" />

...