برای افزودن نشانگرهای پیشرفته به نقشه، یک نمونه جدید از AdvancedMarkerOptions
ایجاد کنید و سپس از GoogleMap.addMarker()
برای اضافه کردن نشانگر استفاده کنید:
کاتلین
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
استفاده کنید:
کاتلین
// 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()
برای تغییر رنگ پس زمینه یک نشانگر استفاده کنید:
کاتلین
// 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()
استفاده کنید:
کاتلین
// 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
استفاده کنید. از علامت برای تنظیم متن و رنگ متن، رنگ علامت یا برای تعیین یک تصویر سفارشی برای استفاده به عنوان علامت استفاده کنید.
مثال زیر متن گلیف را تنظیم می کند:
کاتلین
// Set the glyph text. val pinConfigBuilder: PinConfig.Builder = PinConfig.builder() val glyphText = Glyph("A")
// Alteratively, 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();
رنگ گلیف را تنظیم کنید:
کاتلین
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();
یک تصویر سفارشی برای گلیف تنظیم کنید. اگر می خواهید از یک لوگوی سفارشی یا سایر نشانگرهای بصری در نشانگر استفاده کنید، این تکنیک مفید است.
کاتلین
// 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();
گلیف را مخفی کنید
میتوانید گلیف را پنهان کنید تا رنگ پسزمینه کل نشانگر را پر کند:
کاتلین
// 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()
به شما امکان می دهد از هر View
Android به عنوان نشانگر استفاده کنید. با استفاده از نما به عنوان نشانگر، کنترل کاملی بر نشانگر دارید.
در برنامه خود، ابتدا نمای را ایجاد میکنید، سپس از متد AdvancedMarkerOptions.iconView()
برای افزودن نما به نشانگرهای پیشرفته استفاده میکنید.
کاتلین
// 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));