این صفحه به شما نشان میدهد که چگونه برخوردهای بین نشانگرهایی را که به نقشه خود اضافه میکنید و برچسبهای پیشفرض، مانند نقاط مورد علاقه (POI) یا نام خیابانها، مدیریت کنید.
قبل از شروع
برای مدیریت برخوردهای نشانگر و برچسب، باید از شناسه نقشه استفاده کنید.
اگر از یک تصویر بیت مپ از یک نقشه در حالت ساده استفاده میکنید، نمیتوانید برخوردهای نشانگر و برچسب را مدیریت کنید.تعیین اولویت های نشانگر
از Marker
استفاده کنید. ویژگی CollisionBehavior
برای تعیین اولویت روی یک نشانگر.
از یکی از مقادیر زیر استفاده کنید:
-
REQUIRED
- پیش فرض. به نمایش نشانگری نیاز دارد که با دیگر نشانگرها، برچسبها و POI همپوشانی داشته باشد. -
OPTIONAL_AND_HIDES_LOWER_PRIORITY
- نشان می دهد که نشانگر ممکن است با یک نشانگر مورد نیاز جایگزین یا همپوشانی شود، یا با یک نشانگرOPTIONAL_AND_HIDES_LOWER_PRIORITY
با اولویت بالاتر جایگزین شود. ازzIndex
برای کمک به تعیین اولویت نسبی بین نشانگرهایOPTIONAL_AND_HIDES_LOWER_PRIORITY
استفاده کنید. مقدارzIndex
بالاتر نشان دهنده اولویت بالاتر است. -
REQUIRED_AND_HIDES_OPTIONAL
- به نمایش یک نشانگر نیاز دارد در حالی که هر نشانگر، برچسب یا POIOPTIONAL_AND_HIDES_LOWER_PRIORITY
که با نشانگر همپوشانی دارند پنهان می شود. نشانگر ممکن است با سایر نشانگرهای مورد نیاز همپوشانی داشته باشد.
مثال کد زیر تنظیم CollisionBehavior
را برای یک نشانگر جدید نشان می دهد:
کاتلین
// Collision behavior can only be changed in the AdvancedMarkerOptions object. // Changes to collision behavior after a marker has been created are not possible val collisionBehavior: Int = CollisionBehavior.REQUIRED_AND_HIDES_OPTIONAL val advancedMarkerOptions: AdvancedMarkerOptions = AdvancedMarkerOptions() .position(LatLng(10.0, 10.0)) .collisionBehavior(collisionBehavior) val marker: Marker = map.addMarker(advancedMarkerOptions) ?: error("Failed to add marker")
جاوا
// Collision behavior can only be changed in the AdvancedMarkerOptions object. // Changes to collision behavior after a marker has been created are not possible int collisionBehavior = AdvancedMarkerOptions.CollisionBehavior.REQUIRED_AND_HIDES_OPTIONAL; AdvancedMarkerOptions options = new AdvancedMarkerOptions() .position(new LatLng(10.0, 10.0)) .collisionBehavior(collisionBehavior); Marker marker = map.addMarker(options);