前提・実現したいこと
MKPointAnnotationが入っている配列で、緯度経度共に重複してるものを取り除きたいです。
https://qiita.com/sakiyamaK/items/09588fdbb2580e87a8f4
以下の記事を参考にやって見ましたがうまく重複したものを分けることができませんでした。
該当のソースコード
Swift
1import Foundation 2 3import MapKit 4import CoreLocation 5 6extension MKPointAnnotation{ 7 8 static func == (lhs: MKPointAnnotation, rhs: MKPointAnnotation) -> Bool { 9 return lhs.coordinate.latitude == rhs.coordinate.latitude && lhs.coordinate.longitude == rhs.coordinate.longitude 10 } 11 12 13} 14 15extension Array where Element: Equatable { 16 var unique: [Element] { 17 return reduce([Element]()) { $0.contains($1) ? $0 : $0 + [$1] } 18 } 19} 20 21//格納用配列 22var annotationArray:[MKPointAnnotation] = [] 23 24 25let annotationC = MKPointAnnotation() 26annotationC.coordinate = CLLocationCoordinate2D(latitude: 35,longitude: 134) 27let annotationD = MKPointAnnotation() 28annotationD.coordinate = CLLocationCoordinate2D(latitude: 35,longitude: 134) 29 30 31annotationArray.append(annotationC) 32annotationArray.append(annotationD) 33 34 35print(annotationArray.unique.count)
試したこと
最後のprint文で出力が2で分けることがうまくできませんでした
ご教示お願いしますm(_ _)m
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2018/02/21 13:00