青森県のオープンデータを使った「公衆 Wi-Fi スポット」を探せる iOS アプリを作った

青森県のオープンデータは「青い森オープンデータカタログ」にある。

オープンデータで作成されたものはサイト内の「アプリマーケット」というところに登録できるが、みた感じスマホアプリがなく、

アプリマーケット - 青い森オープンデータカタログAoi Mori Open Data Catalog

「活用事例」を見ても個人でスマホアプリ作っている感じがなかったので、今回試しに作ってみた。

活用事例 - 青い森オープンデータカタログAoi Mori Open Data Catalog

アプリの元になったデータはこの「青森県公衆無線LANアクセスポイント一覧」

青森県公衆無線LANアクセスポイント一覧 - 青い森オープンデータカタログAoi Mori Open Data Catalog

データは CSV であるが、実際にはこれをそのままアプリで使うのではなく、アプリで使いやすいように Python で加工して、json ファイルにしたものをアプリで使用。

たとえば、まったく同じ内容の施設が重複していたりするので、それをひとつにしたりとか、ひとつの施設に複数の Wi-Fi スポットがあったりするのでまとめたりとか。。

そんな感じで作りましたよ。

青森県 公衆Wi-Fiマップ

青森県 公衆Wi-Fiマップ

  • Daisuke Tonosaki
  • Navigation
  • Free

あ、、青森県が出身地です。


今回 iOS 15 以降がターゲットのアプリにしたのだけど

iOS 15 だと属性付き文字列を NSAttributedString ではなく新しい AttributedString を使って作れるので、以前より直感的に作れる気がする。

AttributedString

たとえばこんな表示をしたければ、AttributedString はこう作る。

f:id:daisuke-t-jp:20211018210051p:plain

var text1 = AttributedString("これは赤く小さい ")
text1.foregroundColor = .red
text1.font = .systemFont(ofSize: 16)

var text2 = AttributedString("これは青く大きい ")
text2.foregroundColor = .blue
text2.font = .boldSystemFont(ofSize: 20)
        
label.attributedText = NSAttributedString(text1 + text2)