כדי להוסיף סמנים מתקדמים למפה, יוצרים מופע חדש של AdvancedMarkerOptions
ואז משתמשים ב-GoogleMap.addMarker()
כדי להוסיף את הסמן:
Kotlin
private val SYDNEY = LatLng(-33.87365, 151.20689)
val marker: Marker? = map.addMarker( AdvancedMarkerOptions() .position(SYDNEY) .iconView(textView) .zIndex(zIndex) )
Java
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
כדי להתאים אישית מאפיינים מתקדמים של סמנים, כמו צבע הרקע, צבע הגבול והסמל.יוצרים מכונה של הכיתה
View
ב-Android ומשתמשים בה כדי להגדיר את המכונהAdvancedMarkerOptions
.באמצעות מופע התצוגה אפשר להתאים אישית את הסמן באופן מלא.
שימוש ב-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)
Java
// 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()
Java
// 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()
Java
// 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")
// Alteratively, you can set the text color: // Glyph glyphText = new Glyph("A", Color.GREEN);
pinConfigBuilder.setGlyph(glyphText) val pinConfig: PinConfig = pinConfigBuilder.build()
Java
// 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()
Java
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()
Java
// 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()
Java
// 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 בתור הסמן. כשמשתמשים בתצוגה כסימן, יש לכם שליטה מלאה על הסמן.
באפליקציה, קודם יוצרים את התצוגה ואז משתמשים ב-method 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) )
Java
// 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));