コンテンツにスキップ

CircleState

CircleStateCircle(state:) で使用される ObservableObject です。

マップコンテンツの初回レンダリング後にサークルの中心、半径、スタイル、Z インデックス、またはクリック動作を変更する必要がある場合に使用してください。

  • id: String
  • center: GeoPointProtocol
  • radiusMeters: Double
  • geodesic: Bool
  • clickable: Bool
  • strokeColor: UIColor
  • strokeWidth: Double
  • fillColor: UIColor
  • zIndex: Int?
  • extra: Any?
  • onClick: OnCircleEventHandler?

サークルのサイズには radiusMeters を使用してください。透明度を表現するには fillColor または strokeColor のアルファ値を使用してください。

let circleState = CircleState(
center: GeoPoint(latitude: 35.6812, longitude: 139.7671),
radiusMeters: 500,
fillColor: UIColor.blue.withAlphaComponent(0.2)
)
Circle(state: circleState)
circleState.radiusMeters = 1_000
circleState.center = GeoPoint(latitude: 35.6895, longitude: 139.6917)
circleState.onClick = { event in
selectedCircleId = event.state.id
}
circleState.strokeColor = selectedCircleId == circleState.id ? .red : .blue

サークルがジオフェンスや検索エリアなどのモデルオブジェクトを表す場合は、id を安定した値に保ってください。