หากต้องการเพิ่มเครื่องหมายขั้นสูงลงในแผนที่ ให้สร้างอินสแตนซ์ใหม่ของ
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
เพื่อปรับแต่งคุณสมบัติของเครื่องหมายขั้นสูง เช่น สีพื้นหลัง สีเส้นขอบ และรูปอักขระสร้างอินสแตนซ์ของ Android ชั้นเรียน
View
และใช้อินสแตนซ์ดังกล่าวเพื่อกำหนดค่าอินสแตนซ์AdvancedMarkerOptions
อินสแตนซ์มุมมองช่วยให้คุณปรับแต่งเครื่องหมายได้เต็มที่
ใช้ PinConfig
ชั้นเรียน PinConfig
มีตัวเลือกในการปรับแต่ง
ตัวทำเครื่องหมายขั้นสูง ใช้ PinConfig
เพื่อ:
- เปลี่ยนสีพื้นหลัง
- เปลี่ยนสีเส้นขอบ
- เปลี่ยนสีรูปอักขระหรือเพิ่มข้อความ
- ซ่อนรูปอักขระ
![แผนภาพแสดงส่วนต่างๆ ของเครื่องหมายขั้นสูง](https://developers-dot-devsite-v2-prod.appspot.com/static/maps/documentation/javascript/advanced-markers/images/marker_parts.png?authuser=4&hl=th)
ใช้ 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()
ช่วยให้คุณใช้ 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) )
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));