xyk blog

最近は iOS 開発の記事が多めです。

mapView

表示中のマップ(MKMapView)領域内に含まれるアノテーション(MKAnnotation)を調べる

検証環境: Xcode Version 12.5 (12E262) Swift 5.4 iOS Deployment Target 11.0 表示中のマップ(MKMapView)領域内に配置されているアノテーション(MKAnnotation)を調べる方法について。 MKMapView.visibleMapRectで現在表示中の領域を取得し、MKMapView.anno…

MKAnnotation ピンの画像をカスタマイズする

検証環境: Xcode 12.4 Swift 5.3.2 iOS Deployment Target 14.4 マップ(MKMapView)上のピンの画像をデフォルトのものではなく別の画像にカスタマイズする方法について。 iOS11からマップビューにデフォルトでMKMarkerAnnotationViewが登録されているので、ma…

マップ(MKMapView)上にピンを立てる

検証環境: Xcode 12.4 Swift 5.3.2 iOS Deployment Target 14.4 マップ(MKMapView)を表示してピンを立てるだけの簡単な実装例。 マップビューにピンを追加するには、MKAnnotationプロトコルを適合したクラスを用意して、位置情報CLLocationCoordinate2Dを設…

マップ(MKMapView)上のある座標が円領域内に含まれるかどうかを判定する方法

検証環境: Xcode 12 Swift 5.3 マップ(MKMapView)上のある座標が円領域内に含まれるかどうかを判定する方法。 CLCircularRegionを使うと簡単にできる。 import MapKit // 対象の座標(CLLocationCoordinate2D) let location = CLLocationCoordinate2D(latitud…

マップ上に追加した MKCircle やMKPolygon などの領域内にある座標かどうかを判定する方法

検証環境: Xcode 12 Swift 5.3 マップ(MKMapView)上にオーバーレイしたMKCircleやMKPolygonなどの領域内にある座標かどうかを判定する方法。 座標の緯度経度はCLLocationCoordinate2Dで扱っているとする。 マップ上に MKCircle や MKPolygon の図形をオーバ…

表示中のマップ(MKMapView)領域内に含まれている座標かどうかを判定する

検証環境: Xcode 12 Swift 5.3 まずMapKitをインポートしておく。 import MapKit MKMapRect を使う ある座標が表示中のマップMKMapView領域内に含まれているかで判定する方法。 座標の緯度経度はCLLocationCoordinate2Dで扱っているとする。 表示中のマップ…

MKMapView 上のタップした地点を中心にして正方形を描く

検証環境: Xcode 12 Swift 5.3 前回は地図上(MKMapView)に円を描画したが、今回は正方形の矩形を描画してみる。 まずMapKitをインポートしておく。 import MapKit MKMapView にUITapGestureRecognizerを追加してタップを検出する。 let tapGesture = UITapGe…

MKMapView 上のタップした地点を中心にして円を描く

検証環境: Xcode 12 Swift 5.3 地図上(MKMapView)に図形を描画するためにはMKOverlayプロトコルに適合したオブジェクトをMKMapView#addOverlayメソッドで追加する必要がある。 まずMapKitをインポートしておく。 import MapKit MKMapView にUITapGestureReco…