RealmでGMSPolylineを保存する
久しぶりのpostです。
仕事やらプライベートやらが忙しかったという言い訳のもと、更新をサボってました。。。
さて、肝心のアプリはそれなりに出来てきていて、
あとはバックグラウンドでの位置情報取得が実装出来れば、
一旦リリースできるかもしれません。
RealmでGMSPolylineを保存する
移動ルートをGoogleMapSDKのGMSPolyline で描画しているのですが、それをRealmでローカルに保存して、履歴として表示するようにしています。
GMSPolyline 自体はただのlatitudeとlongitudeの集合なので、RealmオブジェクトのサブクラスとしてDouble型を2つ、latitude,longitudeとしてそれぞれ格納しておくクラスをつくり、
それをメインのRealmオブジェクトにList型で定義してあげれば良いです。
class Record: Object {
dynamic var seqNo: Int = 0
let polyLine = List<PolylineArray>()
}
class PolylineArray: Object {
dynamic var poliLineLatitude: Double = 0
dynamic var poliLineLongitude: Double = 0
}
で、位置情報を取得する度にその時点のlatitude,longitude をオブジェクトにaddする。
取り出して描画する際は、Realmで取得したオブジェクトに紐付くPolylineArrayを順に取得して、
そのlatitude,longitude をGMSPolylineに設定してあげれば表示出来ます。
Realmで画像とかも保存したいんだけど、できるのかなー。