$30 off During Our Annual Pro Sale. View Details »
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
iOSアプリで測る!名古屋駅までの 方向と距離
Search
Ryu-nakayama
April 26, 2025
Programming
0
250
iOSアプリで測る!名古屋駅までの 方向と距離
Nagoya.swift #1の登壇資料です
Ryu-nakayama
April 26, 2025
Tweet
Share
More Decks by Ryu-nakayama
See All by Ryu-nakayama
「ジェン文字」使ってますか?
ryunakayama
0
28
Health Kit × Foundation Models でAIコーチを作ってみた
ryunakayama
0
320
iOSの画面の状態のアレコレを調査してみた
ryunakayama
0
45
作文ツール(Writing Tools)をアプリから制御する
ryunakayama
0
35
「ジェン文字」をアプリ内で使ってみよう
ryunakayama
0
120
SwiftDataと連携したWidgetを作ってみた
ryunakayama
1
150
Swift Macroでメソッドの実行時間を計測できるようにしてみた
ryunakayama
1
200
Appleの審査担当の方とお話ししてみた!
ryunakayama
0
300
大公開!iOS開発の悩みトップ5 〜iOSDC Japan 2024〜
ryunakayama
0
360
Other Decks in Programming
See All in Programming
堅牢なフロントエンドテスト基盤を構築するために行った取り組み
shogo4131
8
2.3k
S3 VectorsとStrands Agentsを利用したAgentic RAGシステムの構築
tosuri13
6
310
ID管理機能開発の裏側 高速にSaaS連携を実現したチームのAI活用編
atzzcokek
0
220
Rubyで鍛える仕組み化プロヂュース力
muryoimpl
0
110
Github Copilotのチャット履歴ビューワーを作りました~WPF、dotnet10もあるよ~ #clrh111
katsuyuzu
0
110
組み合わせ爆発にのまれない - 責務分割 x テスト
halhorn
1
150
Tinkerbellから学ぶ、Podで DHCPをリッスンする手法
tomokon
0
130
MAP, Jigsaw, Code Golf 振り返り会 by 関東Kaggler会|Jigsaw 15th Solution
hasibirok0
0
230
Microservices rules: What good looks like
cer
PRO
0
1.3k
從冷知識到漏洞,你不懂的 Web,駭客懂 - Huli @ WebConf Taiwan 2025
aszx87410
2
2.5k
チームをチームにするEM
hitode909
0
320
ZOZOにおけるAI活用の現在 ~モバイルアプリ開発でのAI活用状況と事例~
zozotech
PRO
8
5.6k
Featured
See All Featured
Testing 201, or: Great Expectations
jmmastey
46
7.8k
Fireside Chat
paigeccino
41
3.7k
How Fast Is Fast Enough? [PerfNow 2025]
tammyeverts
3
390
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
5.8k
A designer walks into a library…
pauljervisheath
210
24k
Building Applications with DynamoDB
mza
96
6.8k
Documentation Writing (for coders)
carmenintech
76
5.2k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4.1k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
196
70k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.6k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
130k
The Illustrated Children's Guide to Kubernetes
chrisshort
51
51k
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