Android - Как показать изображение в Google Maps? - PullRequest
0 голосов
/ 20 февраля 2019

У меня есть фрагмент, который содержит карты Google внутри.Я хочу показать маркер в режиме просмотра изображений на картах Google, чтобы выбрать координату на карте, перетащив ее.

Что я хочу

like

но это так, и маркер невидим в приложении на устройстве Android.

that

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout 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="match_parent"
xmlns:tools="http://schemas.android.com/tools"

>
<ImageView
    android:id="@+id/imageView"
    android:layout_width="40dp"
    android:layout_height="70dp"
    android:layout_centerHorizontal="true"
    android:layout_marginTop="125dp"
    app:srcCompat="@drawable/marker" />

<fragment
    android:id="@+id/mappin"
    android:layout_width="match_parent"
    android:layout_height="250dp"
    class="com.google.android.gms.maps.SupportMapFragment"


   >

  </fragment>

   <Button
    android:id="@+id/ok"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_below="@+id/mappin"
    android:layout_alignParentStart="true"
    android:layout_marginStart="0dp"
    android:layout_marginTop="2dp"
    android:text="Button" />

Спасибо.

Ответы [ 2 ]

0 голосов
/ 21 февраля 2019

Этот метод можно использовать для создания пользовательского маркера в действии или фрагменте ...

публичная статическая битовая карта createCustomMarker (контекстный контекст, ресурс @DrawableRes int, строковое _имя) {

    View marker = ((LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE))
            .inflate(R.layout.custom_marker_layout, null);

    CircleImageView markerImage = (CircleImageView) marker.findViewById(R.id.user_dp);
    markerImage.setImageResource(resource);
    TextView txt_name = (TextView)marker.findViewById(R.id.name);
    txt_name.setText(_name);

    DisplayMetrics displayMetrics = new DisplayMetrics();
    ((Activity) context).getWindowManager().getDefaultDisplay().getMetrics(displayMetrics);
    marker.setLayoutParams(new ViewGroup.LayoutParams(52, ViewGroup.LayoutParams.WRAP_CONTENT));
    marker.measure(displayMetrics.widthPixels, displayMetrics.heightPixels);
    marker.layout(0, 0, displayMetrics.widthPixels, displayMetrics.heightPixels);
    marker.buildDrawingCache();
    Bitmap bitmap = Bitmap.createBitmap(marker.getMeasuredWidth(), marker.getMeasuredHeight(), Bitmap.Config.ARGB_8888);
    Canvas canvas = new Canvas(bitmap);
    marker.draw(canvas);

    return bitmap;
}

Вы можете вызвать этот метод, как показано ниже:

.icon (BitmapDescriptorFactory.fromBitmap (createCustomMarker (MainActivity.this, R.drawable.marker_iv, "Custom Marker")))));

0 голосов
/ 21 февраля 2019

Здравствуйте, попробуйте добавить пользовательские изображения в качестве маркера на карте, как пользовательское изображение с пользовательским макетом

...