
شما میتوانید ظاهر نشانگرها را با استفاده از سازندهی pinConfiguration سفارشی کنید. سازندهی pinConfiguration متدهایی برای تغییر رنگ پسزمینه و حاشیه، متن و رنگ glyph، ارتفاع، تصویر مورد استفاده و گزینههای بیشتر برای سفارشیسازی بیشتر ارائه میدهد.
نمونه کد زیر نحوه ایجاد یک نشانگر جدید و استایلدهی به آن با استفاده از برخی از گزینههای سفارشیسازی موجود را نشان میدهد:
map.addMarker(
markerOptions {
position = sanFrancisco
style = pinConfiguration {
backgroundColor = Color.GREEN
borderColor = Color.GREEN
glyph = Glyph.fromColor(Color.RED)
}
}
)
این صفحه به شما نحوه سفارشیسازی نشانگرها را به روشهای زیر نشان میدهد:
- مقیاس نشانگر
- رنگ پسزمینه را تغییر دهید
- تغییر رنگ حاشیه
- متن را به یک گلیف اضافه کنید
- استفاده از تصویر به عنوان نشانگر
- حذف نشانگرها
مقیاس نشانگر
برای مقیاسبندی یک نشانگر، از گزینه scale استفاده کنید:
map.addMarker(
markerOptions {
position = sanFrancisco
style = pinConfiguration {
scale = 3.14
}
}
)
رنگ پسزمینه را تغییر دهید
از گزینه PinElement.background برای تغییر رنگ پسزمینه یک نشانگر در حین ساخت استفاده کنید:
map.addMarker(
markerOptions {
position = sanFrancisco
style = pinConfiguration {
backgroundColor = Color.GREEN
}
}
)
تغییر رنگ حاشیه
از گزینه markerOptions.borderColor برای تغییر رنگ حاشیه یک نشانگر در حین ساخت استفاده کنید:
map.addMarker(
markerOptions {
position = sanFrancisco
style = pinConfiguration {
borderColor = Color.GREEN
}
}
)
متن را به یک گلیف اضافه کنید
از متد markerOptions.glyph برای جایگزینی گلیف پیشفرض با یک کاراکتر متنی استفاده کنید. گلیف متنی نشانگر با توجه به نشانگر تغییر اندازه میدهد:
map.addMarker(
markerOptions {
position = sanFrancisco
style = pinConfiguration {
glyph = Glyph.fromText("G")
}
}
)
استفاده از تصویر به عنوان نشانگر
Map.addMarker(markerOptions {
position = latLngAltitude {
latitude = 40.7484
longitude = -73.9857
altitude = 100.0
}
zIndex = 1
label = "Empire State Building"
isExtruded = true
isDrawnWhenOccluded = true
altitudeMode = AltitudeMode.RELATIVE_TO_MESH
setStyle(ImageView(R.drawable.ook))
})
حذف نشانگرها
برای حذف نشانگرها از نقشه، از Marker.remove() استفاده کنید:
marker.remove();