Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
iOSアプリで測る!名古屋駅までの 方向と距離
Search
Ryu-nakayama
April 26, 2025
Programming
0
220
iOSアプリで測る!名古屋駅までの 方向と距離
Nagoya.swift #1の登壇資料です
Ryu-nakayama
April 26, 2025
Tweet
Share
More Decks by Ryu-nakayama
See All by Ryu-nakayama
iOSの画面の状態のアレコレを調査してみた
ryunakayama
0
36
作文ツール(Writing Tools)をアプリから制御する
ryunakayama
0
33
「ジェン文字」をアプリ内で使ってみよう
ryunakayama
0
100
SwiftDataと連携したWidgetを作ってみた
ryunakayama
1
130
Swift Macroでメソッドの実行時間を計測できるようにしてみた
ryunakayama
1
180
Appleの審査担当の方とお話ししてみた!
ryunakayama
0
280
大公開!iOS開発の悩みトップ5 〜iOSDC Japan 2024〜
ryunakayama
0
350
Translation API について 〜WWDC24〜
ryunakayama
0
340
効率化に挑戦してみたらモバイル開発が少し快適になった話
ryunakayama
0
1.7k
Other Decks in Programming
See All in Programming
CSC509 Lecture 04
javiergs
PRO
0
300
AI Coding Meetup #3 - 導入セッション / ai-coding-meetup-3
izumin5210
0
3.4k
『毎日の移動』を支えるGoバックエンド内製開発
yutautsugi
2
250
3年ぶりにコードを書いた元CTOが Claude Codeと30分でMVPを作った話
maikokojima
0
530
私はどうやって技術力を上げたのか
yusukebe
44
19k
登壇は dynamic! な営みである / speech is dynamic
da1chi
0
340
Building, Deploying, and Monitoring Ruby Web Applications with Falcon (Kaigi on Rails 2025)
ioquatix
4
2.2k
Range on Rails ―「多重範囲型」という新たな選択肢が、複雑ロジックを劇的にシンプルにしたワケ
rizap_tech
0
6.7k
XP, Testing and ninja testing ZOZ5
m_seki
3
700
Software Architecture
hschwentner
6
2.3k
私達はmodernize packageに夢を見るか feat. go/analysis, go/ast / Go Conference 2025
kaorumuta
2
590
TFLintカスタムプラグインで始める Terraformコード品質管理
bells17
2
210
Featured
See All Featured
Gamification - CAS2011
davidbonilla
81
5.5k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
30
2.9k
Measuring & Analyzing Core Web Vitals
bluesmoon
9
620
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.4k
YesSQL, Process and Tooling at Scale
rocio
173
14k
Visualization
eitanlees
149
16k
Intergalactic Javascript Robots from Outer Space
tanoku
273
27k
Build The Right Thing And Hit Your Dates
maggiecrowley
37
2.9k
Raft: Consensus for Rubyists
vanstee
140
7.1k
Leading Effective Engineering Teams in the AI Era
addyosmani
7
460
How To Stay Up To Date on Web Technology
chriscoyier
791
250k
Transcript
iOSアプリで測る!名古屋駅までの 方向と距離 コミュニケーションプラットフォームディビジョン プロダクトユニット iOSアプリ開発グループ 中山 龍 2025年04月26日 Nagoya.swift #1
自己紹介 中山 龍 (なかやま りゅう) • 株式会社kubell ◦ 新卒3年目のiOSエンジニア(22) ◦
「Chatwork」アプリの開発を担当 • 愛知県在住 • ひとこと ◦ @ryu_develop せっかくのNagoya.swiftということで 位置情報ネタを選んだけど、他の方と 少しネタ被りしてるかも?
今日、この会場に来るまでに名古屋駅を 使った方いらっしゃいますか?
名古屋駅が 分かりますか? • 何km先にあるか • どの方向にあるか
名古屋駅が 分かりますか? • 何km先にあるか • どの方向にあるか これをiOSアプリで測ってみましょう
01 | 距離を測る
距離を測る 現在地から目的地の距離を測る ↓ 二点の座標がわかると距離を測れそう ↓ 現在地と目的地の座標がわかるようにしてみましょう! 7
現在地の座標を取得する
現在地の座標を得るには 端末の現在地の座標を取得する方法 Core Locationを使う 9
現在地の座標を得るには(1) 1. Core Locationをimportする 2. CLLocationManagerのインスタンスを作成 3. CLLocationManagerDelegateに準拠した型を作成する • CLLocationManagerインスタンスのdelegateに代入する
10
現在地の座標を得るには(2) 4. 位置情報取得の許諾を得るための処理を記述する 5. 位置情報の更新を開始する 11
現在地の座標を得るには(3) 6. didUpdateLocationsのメソッド内で現在の緯度・経度が取得できる • 新しい位置情報が利用できる時に呼ばれる 12
現在地の座標を得るには(3) 6. didUpdateLocationsのメソッド内で現在の緯度・経度が取得できる • 新しい位置情報が利用できる時に呼ばれる 13 これで現在地が取得できた
目的地の座標を取得する
目的地の座標を得るには 今回は目的地の指定に MapKitを使う 15
目的地の座標を得るには(1) 1. MapKitをimportする 2. MKMapViewDelegateに準拠した型を作成する • MKMapViewのdelegateに代入する 16
目的地の座標を得るには(2) 3. didSelectのメソッド内で選択された緯度・経度が取得できる • MKMapViewで地点がタップされた時に呼ばれる 17
目的地の座標を得るには(2) 3. didSelectのメソッド内で選択された緯度・経度が取得できる • MKMapViewで地点がタップされた時に呼ばれる 18 これで目的地が取得できた
02 | 方向を測る
端末の方向を得るには 端末の向いている方向を取得する方法 Core Locationを使う 20
端末の方向を得るには 1. 「現在地の座標を得るには」の1〜5の手順で、CoreLocationで位置情報を取得 できるようにする 2. didUpdateHeadingのメソッド内で端末の向き(北からの角度)が取得できる • 新しい端末の向きの情報を受けたときに呼ばれる 21
端末の方向を得るには 1. 「現在地の座標を得るには」の1〜5の手順で、CoreLocationで位置情報を取得 できるようにする 2. didUpdateHeadingのメソッド内で端末の向き(北からの角度)が取得できる • 新しい端末の向きの情報を受けたときに呼ばれる 22 これで端末の方向が取得できた
03 | 名古屋駅はどっちに何km?
名古屋駅はどっちに何km? 現在地の座標と目的地の座標がわかったので、 • 現在地→目的地の距離(ここから名古屋駅までの距離) • 現在地から目的地への方角 が計算できます! そして、端末の向いている方向(方角)もわかるので、 • 目的地のある方向
もわかります! 24
そして、この会場から名古屋駅へは... [実演] 実際にアプリで測る 25 000
まとめ
まとめ • Core LocationとMapKitを使用することで、現在地から名古屋駅までの距離と 方向を知ることができた! • Core Locationを使用すると、端末の「位置」「向き」などが取得できる ◦ 情報の取得には許可が必要
• MapKitを使用すると、選択した任意の地点の「位置」などが取得できる • 位置情報など、モバイルアプリならではの機能を使い、よりよいサービス・体 験を作り出すことができそう!! 27
働くをもっと楽しく、創造的に 28