Androidのマップのマーカーにカスタムデザインのxmlファイルを用いたいと思っているのですが、マーカーのカスタムにはMarkerOptions().icon()
メソッドを用いているのですが、そこではBitmapDescriptorFactory
がよく使われており、これではBMP画像しか使えないので困っております。
もしカスタムデザインをマーカーに適用させる方法を御存知でしたらご教授いただけますでしょうか。
Activityのソースコードは以下の通りです。
kotlin
1 2class MapActivity : AppCompatActivity(), OnMapReadyCallback { 3 4 private lateinit var mMap: GoogleMap 5 6 override fun onCreate(savedInstanceState: Bundle?) { 7 super.onCreate(savedInstanceState) 8 setContentView(R.layout.activity_map) 9 10 val mapFragment = supportFragmentManager 11 .findFragmentById(R.id.map) as SupportMapFragment 12 mapFragment.getMapAsync(this) 13 } 14 15 override fun onMapReady(googleMap: GoogleMap) { 16 mMap = googleMap 17 18 val nagoya = LatLng(35.170915, 136.881537) 19 20 val pinIcon = BitmapDescriptorFactory.fromResource(R.drawable.ic_pin) 21 22 mMap.addMarker(MarkerOptions().icon(pinIcon).position(nagoya).title("名古屋駅")) 23 24 val cameraUpdate = CameraUpdateFactory.newLatLngZoom(nagoya, 15.0F) 25 mMap.moveCamera(cameraUpdate) 26 } 27}
適用させたいXMLレイアウトは以下の通りです。
XML
1<?xml version="1.0" encoding="utf-8"?> 2<androidx.constraintlayout.widget.ConstraintLayout 3 xmlns:android="http://schemas.android.com/apk/res/android" 4 xmlns:app="http://schemas.android.com/apk/res-auto" 5 android:layout_width="106dp" 6 android:layout_height="67dp"> 7 8 <TextView 9 android:id="@+id/pinTextView" 10 android:layout_width="106dp" 11 android:layout_height="20dp" 12 android:background="@color/torch_red" 13 android:text="2019/12/12 21:59" 14 android:textAlignment="center" 15 android:textColor="@color/white" 16 android:textSize="12sp" 17 app:layout_constraintEnd_toEndOf="parent" 18 app:layout_constraintStart_toStartOf="parent" 19 app:layout_constraintTop_toTopOf="parent" /> 20 21 <ImageView 22 android:id="@+id/pinImageView" 23 android:layout_width="wrap_content" 24 android:layout_height="wrap_content" 25 app:layout_constraintBottom_toBottomOf="parent" 26 app:layout_constraintEnd_toEndOf="parent" 27 app:layout_constraintStart_toStartOf="parent" 28 app:srcCompat="@drawable/ic_pin" /> 29 30</androidx.constraintlayout.widget.ConstraintLayout>
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/03/10 07:28