برای افزودن نشانگرهای پیشرفته به نقشه، نمونه جدیدی از
AdvancedMarkerOptions
ایجاد کنید و سپس از
GoogleMap.addMarker()
برای افزودن نشانگر استفاده کنید:
Kotlin
private val SYDNEY = LatLng(-33.87365, 151.20689)
val marker: Marker? = map.addMarker( AdvancedMarkerOptions() .position(SYDNEY) .iconView(textView) .zIndex(zIndex) )
جاوا
private final LatLng SYDNEY = new LatLng(-33.87365, 151.20689);
Marker marker = map.addMarker( new AdvancedMarkerOptions() .position(SYDNEY) .iconView(textView) .zIndex(zIndex));
GoogleMap.addMarker() نمونهای از
Marker را برمیگرداند.
درصورت لزوم، میتوانید مقدار برگرداندهشده را به
AdvancedMarker تبدیل کنید.
از AdvancedMarkerOptions برای پیکربندی نشانگرهای پیشرفته استفاده کنید.
AdvancedMarkerOptions زیرکلاسی از
MarkerOptions است
بنابراین از همه تنظیمات مشابه MarkerOptions پشتیبانی میکند.
AdvancedMarkerOptions همچنین به شما امکان میدهد:
نمونهای از کلاس
PinConfigایجاد کنید، سپس از نمونهPinConfigبرای پیکربندی نمونهAdvancedMarkerOptionsاستفاده کنید.از
PinConfigبرای سفارشیسازی ویژگیهای پیشرفته نشانگر، مانند رنگ پسزمینه، رنگ حاشیه، و نویسه استفاده کنید.نمونهای از کلاس Android
Viewایجاد کنید و از آن نمونه برای پیکربندی نمونهAdvancedMarkerOptionsاستفاده کنید.نمونه View به شما امکان میدهد نشانگر را کاملاً سفارشیسازی کنید.
استفاده از PinConfig
کلاس PinConfig حاوی گزینههایی برای سفارشیسازی
نشانگرهای پیشرفته است. از PinConfig برای این کارها استفاده کنید:
- تغییر رنگ پسزمینه
- تغییر رنگ حاشیه
- تغییر دادن رنگ گلیف یا افزودن نوشتار
- پنهان کردن گلیف
از PinConfig.Builder
برای ایجاد نمونهای از PinConfig استفاده کنید:
Kotlin
// Use PinConfig.Builder to create an instance of PinConfig. val pinConfigBuilder: PinConfig.Builder = PinConfig.builder() pinConfigBuilder.setBackgroundColor(Color.MAGENTA) val pinConfig: PinConfig = pinConfigBuilder.build()// Use the PinConfig instance to set the icon for AdvancedMarkerOptions. val advancedMarkerOptions: AdvancedMarkerOptions = AdvancedMarkerOptions() .icon(BitmapDescriptorFactory.fromPinConfig(pinConfig)) .position(MARKER_POSITION)
// Pass the AdvancedMarkerOptions instance to addMarker(). val marker: Marker? = map.addMarker(advancedMarkerOptions)
جاوا
// Use PinConfig.Builder to create an instance of PinConfig. PinConfig.Builder pinConfigBuilder = PinConfig.builder(); pinConfigBuilder.setBackgroundColor(Color.MAGENTA); PinConfig pinConfig = pinConfigBuilder.build();
// Use the PinConfig instance to set the icon for AdvancedMarkerOptions. AdvancedMarkerOptions advancedMarkerOptions = new AdvancedMarkerOptions() .icon(BitmapDescriptorFactory.fromPinConfig(pinConfig)) .position(MARKER_POSITION);
// Pass the AdvancedMarkerOptions instance to addMarker(). Marker marker = map.addMarker(advancedMarkerOptions);
تغییر رنگ پسزمینه
از روش PinConfig.background() برای تغییر رنگ پسزمینه نشانگر استفاده کنید:
Kotlin
// Use PinConfig.Builder to create an instance of PinConfig. val pinConfigBuilder: PinConfig.Builder = PinConfig.builder() pinConfigBuilder.setBackgroundColor(Color.MAGENTA) val pinConfig: PinConfig = pinConfigBuilder.build()
جاوا
// Use PinConfig.Builder to create an instance of PinConfig. PinConfig.Builder pinConfigBuilder = PinConfig.builder(); pinConfigBuilder.setBackgroundColor(Color.MAGENTA); PinConfig pinConfig = pinConfigBuilder.build();
تغییر رنگ حاشیه
از روش PinConfig.borderColor() برای تغییر رنگ حاشیه نشانگر استفاده کنید:
Kotlin
// Set the border color. val pinConfigBuilder: PinConfig.Builder = PinConfig.builder() pinConfigBuilder.setBorderColor(Color.BLUE) val pinConfig: PinConfig = pinConfigBuilder.build()
جاوا
// Set the border color. PinConfig.Builder pinConfigBuilder = PinConfig.builder(); pinConfigBuilder.setBorderColor(Color.BLUE); PinConfig pinConfig = pinConfigBuilder.build();
تغییر دادن طلسم
نمونه Glyph
ایجاد کنید و سپس از آن نمونه برای پیکربندی PinConfig استفاده کنید.
از گلیف برای تنظیم نوشتار گلیف و رنگ نوشتار، رنگ گلیف، یا برای
مشخص کردن تصویر سفارشی برای استفاده بهعنوان گلیف استفاده کنید.
مثال زیر نوشتار نویسه را تنظیم میکند:
Kotlin
// Set the glyph text. val pinConfigBuilder: PinConfig.Builder = PinConfig.builder() val glyphText = Glyph("A")
// Alternatively, you can set the text color: // Glyph glyphText = new Glyph("A", Color.GREEN);
pinConfigBuilder.setGlyph(glyphText) val pinConfig: PinConfig = pinConfigBuilder.build()
جاوا
// Set the glyph text. PinConfig.Builder pinConfigBuilder = PinConfig.builder(); PinConfig.Glyph glyphText = new PinConfig.Glyph("A");
// Alternatively, you can set the text color: // PinConfig.Glyph glyphText = new PinConfig.Glyph("A", Color.GREEN);
pinConfigBuilder.setGlyph(glyphText); PinConfig pinConfig = pinConfigBuilder.build();
رنگ گلیف را تنظیم کنید:
Kotlin
val glyphColor = PinConfig.Glyph(Color.BLUE) pinConfigBuilder.setGlyph(glyphColor) val pinConfig: PinConfig = pinConfigBuilder.build()
جاوا
PinConfig.Glyph glyphColor = new PinConfig.Glyph(Color.BLUE); pinConfigBuilder.setGlyph(glyphColor); PinConfig pinConfig = pinConfigBuilder.build();
تصویر سفارشی برای گلیف تنظیم کنید. این تکنیک زمانی مفید است که بخواهید از یک نشانواره سفارشی یا نشانگر بصری دیگر در نشانگر استفاده کنید.
Kotlin
// Set the glyph image. val glyphImage: Int = R.drawable.example_image val descriptor = PinConfig.BitmapDescriptorFactory.fromResource(glyphImage) pinConfigBuilder.setGlyph(Glyph(descriptor)) val pinConfig: PinConfig = pinConfigBuilder.build()
جاوا
// Set the glyph image. int glyphImage = R.drawable.example_image; BitmapDescriptor descriptor = BitmapDescriptorFactory.fromResource(glyphImage); pinConfigBuilder.setGlyph(new PinConfig.Glyph(descriptor)); PinConfig pinConfig = pinConfigBuilder.build();
پنهان کردن گلیف
میتوانید گلیف را پنهان کنید تا رنگ پسزمینه کل نشانگر را پر کند:
Kotlin
// Create a transparent glyph. val pinConfigBuilder: PinConfig.Builder = PinConfig.builder() pinConfigBuilder.setBackgroundColor(Color.MAGENTA) pinConfigBuilder.setGlyph(PinConfig.Glyph(Color.TRANSPARENT)) val pinConfig: PinConfig = pinConfigBuilder.build()
جاوا
// Create a transparent glyph. PinConfig.Builder pinConfigBuilder = PinConfig.builder(); pinConfigBuilder.setBackgroundColor(Color.MAGENTA); pinConfigBuilder.setGlyph(new PinConfig.Glyph(Color.TRANSPARENT)); PinConfig pinConfig = pinConfigBuilder.build();
استفاده از iconView
روش AdvancedMarkerOptions.iconView() به شما امکان میدهد از هر Android
View
بهعنوان نشانگر استفاده کنید. بااستفاده از نما بهعنوان نشانگر، کنترل کامل بر نشانگر دارید.
در برنامهتان، ابتدا نما را ایجاد میکنید، سپس از روش
AdvancedMarkerOptions.iconView() برای افزودن نما به
نشانگرهای پیشرفته استفاده میکنید.
Kotlin
// Create a TextView to use as the marker. val textView = TextView(this) textView.text = "Hello!!" textView.setBackgroundColor(Color.BLACK) textView.setTextColor(Color.YELLOW)
val marker: Marker? = map.addMarker( AdvancedMarkerOptions() .position(SYDNEY) .iconView(textView) )
جاوا
// Create a TextView to use as the marker. TextView textView = new TextView(this); textView.setText("Hello!!"); textView.setBackgroundColor(Color.BLACK); textView.setTextColor(Color.YELLOW);
Marker marker = map.addMarker( new AdvancedMarkerOptions() .position(SYDNEY) .iconView(textView));