福野泰介の一日一創 - create every day

ひなんメモ、避難所をローカルに保存するiOS9アプリ(Swift)

2016/04/15
#opendata #swift #SPARQL 

ひなんメモ(Webアプリ版)は、Webのオフラインアプリケーションの仕様頼みだったのに、 その機能はすでに廃止予定になっていて、iPhoneのSafariではもう動かなくなっていたので、Swift版つくってみました。(ソース on GitHub / Code for Fukui


現在位置をCLLocationManagerとiOS9で追加されたrequestLocationを使って位置情報を取得、その付近の避難所をodpからSAPRQLを使ってJSONで取得し、UITableViewを使ってリスト表示。 項目タップで地図が開きます。 取得したデータはCoreDataを使って端末内に保存しておき、クリアされない限り保持します。


ひさびさのSwift、以前書いた自分のブログ見てもアシスタントエディターを忘れていたので、図を追加。 実機で動作させようとしたら、バージョンが合わず、MacOSのアップデート、Xcodeのアップデート、設定、ライブラリ、Swiftの文法変更への対応など、なかなか手間取りました。 最近の開発環境は、がんがん更新されるので、初心者のプログラミング学習用途には向きません。
(伝統の++がSwift3では無くなる様子「【Swift3対応】Swift2.2以降のfor文法の書き方まとめ | ゆとりっち」)

実用化するにはまだ遠い「ひなんメモ」ですが、ぜひお好きなように改造しちゃってください!
ひなんメモ、ソース on GitHub / Code for Fukui

PREFIX geo: <http://www.w3.org/2003/01/geo/wgs84_pos#> PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> select ?s ?name ?lat ?lng { ?s rdf:type ; rdfs:label ?name; geo:lat ?lat; geo:long ?lng. filter(?lat<35.95 && ?lat>35.93 && ?lng<136.19 && ?lng>136.17) filter(lang(?name)="ja") }

(緯度経度の範囲を指定して避難所を日本語で取得するSARQLのクエリー)

Tweet
クリエイティブ・コモンズ・ライセンス
この作品は「Creative Commons — CC BY 4.0」の下に提供されています。
CC BY 福野泰介 - Taisuke Fukuno / @taisukef / アイコン画像 / プロフィール画像