با تنظیم ویژگی collisionBehavior
روی یکی از مقادیر زیر، میتوانید مشخص کنید که یک نشانگر در هنگام برخورد با نشانگر یا برچسب نقشه دیگری چگونه باید رفتار کند:
-
REQUIRED
: نشانگر باید همیشه بدون توجه به برخورد نمایش داده شود. -
REQUIRED_AND_HIDES_OPTIONAL
: نشانگر باید همیشه بدون توجه به برخوردها نمایش داده شود. نشانگرهایی با رفتار برخوردOPTIONAL_AND_HIDES_LOWER_PRIORITY
، برچسبهای پیشفرض نقشه که با این نشانگر همپوشانی دارند، پنهان میشوند. -
OPTIONAL_AND_HIDES_LOWER_PRIORITY
: نشانگر فقط در صورتی باید نمایش داده شود که با دیگر نشانگرها همپوشانی نداشته باشد. اگر دو نشانگر از این نوع همپوشانی داشته باشند، نشانگر با ترتیب ترسیم بالاتر نشان داده می شود. اگر ترتیب ترسیم یکسانی داشته باشند، موردی با موقعیت صفحه عمودی پایین نشان داده می شود.
نمونه کد زیر هر یک از مقادیر رفتار برخورد را نشان می دهد. برای استفاده از این نمونه کد، دستورالعملهای موجود در راهاندازی را دنبال کنید و نقشه سه بعدی را به برنامه خود اضافه کنید تا پروژه Android Studio خود را با یک نقشه سه بعدی اولیه تنظیم کنید. سپس کد زیر را به فایل MainActivity.kt
اضافه کنید:
// Add imports import com.google.android.gms.maps3d.model.latLngAltitude ... // Marker 1: REQUIRED googleMap3D.addMarker(markerOptions { position = latLngAltitude { latitude = 52.52027645136134 longitude = 13.408271658592406 altitude = 0.0 } label = "Collision Behavior: REQUIRED" altitudeMode = AltitudeMode.CLAMP_TO_GROUND isExtruded = true isDrawnWhenOccluded = true collisionBehavior = CollisionBehavior.REQUIRED }) // Marker 2: REQUIRED_AND_HIDES_OPTIONAL googleMap3D.addMarker(markerOptions { position = latLngAltitude { latitude = 52.519605780912585 longitude = 13.406867190588198 altitude = 150.0 } label = "Colliding Behavior: REQUIRED_AND_HIDES_OPTIONAL" altitudeMode = AltitudeMode.ABSOLUTE isExtruded = true isDrawnWhenOccluded = true collisionBehavior = CollisionBehavior.REQUIRED_AND_HIDES_OPTIONAL }) // Marker 3: OPTIONAL_AND_HIDES_LOWER_PRIORITY googleMap3D.addMarker(markerOptions { position = latLngAltitude { latitude = 52.519882191069016 longitude = 13.407410777254293 altitude = 50.0 } label = "Colliding Behavior: OPTIONAL_AND_HIDES_LOWER_PRIORITY" altitudeMode = AltitudeMode.RELATIVE_TO_GROUND isExtruded = true isDrawnWhenOccluded = true collisionBehavior = CollisionBehavior.OPTIONAL_AND_HIDES_LOWER_PRIORITY })