این صفحه به شما نشان میدهد که چگونه تداخل بین نشانگرهایی را که به نقشهتان اضافه میکنید و برچسبهای پیشفرض، مانند نقاط موردعلاقه (POI) یا نام خیابانها، مدیریت کنید.
قبلاز شروع
برای مدیریت تداخل نشانگر و برچسب، باید از شناسه نقشه استفاده کنید.
اگر از تصویر نقشه بیتی نقشه ازطریق حالت Lite استفاده میکنید، نمیتوانید تداخل نشانگر و برچسب را مدیریت کنید.درحال مشخص کردن اولویتهای نشانگر
از Marker استفاده کنید.CollisionBehavior برای مشخص کردن اولویت در نشانگر.
از یکیاز مقدارهای زیر استفاده کنید:
-
REQUIRED- پیشفرض. نیاز به نمایش نشانگری دارد که با نشانگرها، برچسبها، و نقاط جالب دیگر همپوشانی دارد. OPTIONAL_AND_HIDES_LOWER_PRIORITY- نشان میدهد که نشانگر ممکن است با نشانگر الزامی جایگزین شود یا با آن همپوشانی داشته باشد، یا با نشانگرOPTIONAL_AND_HIDES_LOWER_PRIORITYبا اولویت بالاتر جایگزین شود. ازzIndexبرای کمک به تعیین اولویت نسبی بین نشانگرهایOPTIONAL_AND_HIDES_LOWER_PRIORITYاستفاده کنید. مقدارzIndexبالاتر نشاندهنده اولویت بالاتر است.REQUIRED_AND_HIDES_OPTIONAL- Requires display of a marker while hiding anyOPTIONAL_AND_HIDES_LOWER_PRIORITYmarkers, labels, or POIs that overlap with the marker. ممکن است نشانگر با نشانگرهای الزامی دیگر همپوشانی داشته باشد.
نمونه کد زیر تنظیم CollisionBehavior را برای نشانگر جدید نشان میدهد:
Kotlin
// 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);