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
230
iOSアプリで測る!名古屋駅までの 方向と距離
Nagoya.swift #1の登壇資料です
Ryu-nakayama
April 26, 2025
Tweet
Share
More Decks by Ryu-nakayama
See All by Ryu-nakayama
Health Kit × Foundation Models でAIコーチを作ってみた
ryunakayama
0
100
iOSの画面の状態のアレコレを調査してみた
ryunakayama
0
41
作文ツール(Writing Tools)をアプリから制御する
ryunakayama
0
34
「ジェン文字」をアプリ内で使ってみよう
ryunakayama
0
110
SwiftDataと連携したWidgetを作ってみた
ryunakayama
1
140
Swift Macroでメソッドの実行時間を計測できるようにしてみた
ryunakayama
1
190
Appleの審査担当の方とお話ししてみた!
ryunakayama
0
290
大公開!iOS開発の悩みトップ5 〜iOSDC Japan 2024〜
ryunakayama
0
350
Translation API について 〜WWDC24〜
ryunakayama
0
350
Other Decks in Programming
See All in Programming
Nitro v3
kazupon
1
120
Module Proxyのマニアックな話 / Niche Topics in Module Proxy
kuro_kurorrr
0
2.5k
Eloquentを使ってどこまでコードの治安を保てるのか?を新人が考察してみた
itokoh0405
0
3.1k
釣り地図SNSにおける有料機能の実装
nokonoko1203
0
210
Pythonに漸進的に型をつける
nealle
1
160
Swift Concurrency 年表クイズ
omochi
3
220
チームのテスト力を総合的に鍛えてシフトレフトを推進する/Shifting Left with Software Testing Improvements
goyoki
4
2.1k
HTTPじゃ遅すぎる! SwitchBotを自作ハブで動かして学ぶBLE通信
occhi
0
220
開発組織の戦略的な役割と 設計スキル向上の効果
masuda220
PRO
10
2.1k
Amazon Bedrock Knowledge Bases Hands-on
konny0311
0
110
pnpm に provenance のダウングレード を検出する PR を出してみた
ryo_manba
1
210
AIのバカさ加減に怒る前にやっておくこと
blueeventhorizon
0
160
Featured
See All Featured
The Straight Up "How To Draw Better" Workshop
denniskardys
239
140k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
285
14k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
2.6k
Building a Modern Day E-commerce SEO Strategy
aleyda
45
8k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
5.7k
Leading Effective Engineering Teams in the AI Era
addyosmani
8
1k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
9
1k
[RailsConf 2023] Rails as a piece of cake
palkan
57
6k
What's in a price? How to price your products and services
michaelherold
246
12k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
34
2.3k
Keith and Marios Guide to Fast Websites
keithpitt
413
23k
Practical Orchestrator
shlominoach
190
11k
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