Skip to main content

MapKit カメラ

選択したピンを中心にする こんな感じで中心点だけ変えるとかできるかと思ったけどできないな

swift
  if let park = selectedPark,
var camera = cameraPos.camera {
camera.centerCoordinate = park.coord
cameraPos = MapCameraPosition.camera(camera)
}

MapCameraPosition 自体作り直なら可能そう

swift
let span = MKCoordinateSpan(
latitudeDelta : (yMax - yMin) * yPadding,
longitudeDelta : (xMax - xMin) * xPadding
)
let region = MKCoordinateRegion(center: center, span:span)
cameraPos = MapCameraPosition.region(region)

ズームしたい距離が決まっているなら、こんな感じで メートル指定で良い

swift
     let region = MKCoordinateRegion(
center: selectedPark.coord,
latitudinalMeters: 3000,
longitudinalMeters: 5000
)
withAnimation {
appData.cameraPos = MapCameraPosition.region(region)
}
appData.selectedPark = selectedPark