การปรับแต่งเครื่องหมายพื้นฐาน

เลือกแพลตฟอร์ม: Android iOS JavaScript

แผนที่ซานฟรานซิสโกพร้อมเครื่องหมายที่มีรูปแบบที่กำหนดเอง

คุณสามารถปรับแต่งลักษณะที่ปรากฏของเครื่องหมายได้โดยส่ง Pin.Configuration อินสแตนซ์ไปยัง (Marker3D.Style.pin(_:)) ซึ่งจะช่วยให้คุณเปลี่ยนสีพื้นหลังและ สีขอบ ข้อความและสีของสัญลักษณ์ ความสูง รูปภาพที่จะใช้ รวมถึงตัวเลือกอื่นๆ สำหรับการปรับแต่งเพิ่มเติมได้

ตัวอย่างโค้ดต่อไปนี้แสดงวิธีสร้างเครื่องหมายใหม่และจัดรูปแบบโดยใช้ตัวเลือกการปรับแต่งที่มีอยู่บางส่วน

Map(mode: .hybrid) {
  Marker3D(
      position: .init(latitude: 51.5074, longitude: -0.1278, altitude: 0.0),
      label: "London",
      style: .pin(.init(scale: 2.0))
  )
}

หน้านี้จะแสดงวิธีปรับแต่งเครื่องหมายด้วยวิธีต่อไปนี้

ปรับขนาดเครื่องหมาย

หากต้องการปรับขนาดเครื่องหมาย ให้ใช้ตัวเลือก scale ดังนี้

Map(mode: .hybrid) {
  Marker3D(
      position: .init(latitude: 35.6762, longitude: 139.6503, altitude: 0.0),
        label: "Tokyo",
        style: .pin(
          .init(
            backgroundColor: .blue,
            borderColor: .yellow,
            scale: 2.0
            ) {Text("G").minimumScaleFactor(0.01)}
        )
  )
}

เปลี่ยนสีพื้นหลัง

ใช้พารามิเตอร์ backgroundColor ใน Pin.Configuration เพื่อเปลี่ยนสีพื้นหลังของเครื่องหมาย ดังนี้

Map(mode: .hybrid){
  Marker3D(
    position: .init(latitude: 48.8566, longitude: 2.3522, altitude: 0.0),
    label: "Paris",
    style: .pin(.init(backgroundColor: .yellow)) // Changes the pin's background color
  )
}

เปลี่ยนสีขอบ

ใช้พารามิเตอร์ borderColor ใน Pin.Configuration เพื่อเปลี่ยนสีขอบของเครื่องหมาย ดังนี้

Map(mode: .hybrid){
  Marker3D(
    position: .init(latitude: -22.9068, longitude: -43.1729, altitude: 0.0),
    label: "Rio de Janeiro",
    style: .pin(.init(backgroundColor: .green, borderColor: .brown)) // Customizes the pin border
  )
}

เพิ่มข้อความลงในสัญลักษณ์

ใช้พารามิเตอร์การปิด @ViewBuilder ของสัญลักษณ์ใน Pin.Configuration เพื่อแทนที่สัญลักษณ์เริ่มต้นด้วยอักขระข้อความ สัญลักษณ์ข้อความของเครื่องหมายจะปรับขนาดตามเครื่องหมาย

Map(mode: .hybrid){
  Marker3D(
    position: .init(latitude: 25.2048, longitude: 55.2708, altitude: 0.0),
    label: "Dubai",
    style: .pin(.init(backgroundColor: .green) {
        Text("D") // Adds text inside the marker glyph
    })
  )
}