$30 off During Our Annual Pro Sale. View Details »
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Exploring New Google Places API
Search
KintoTech_Dev
December 05, 2024
0
230
Exploring New Google Places API
Mobility Night #1 - GPS・位置情報 -
https://mobility-night.connpass.com/event/334400/
KintoTech_Dev
December 05, 2024
Tweet
Share
More Decks by KintoTech_Dev
See All by KintoTech_Dev
CO-LAB Tech Night vol.6 AWS re:Invent 2025 ReCap
kintotechdev
0
36
Amazon Q Developer を活用した Amazon GuardDuty の脅威のログ分析
kintotechdev
0
170
Splunk Cloud MCP サーバと 生成 AI によるセキュリティ分析の 効率化
kintotechdev
0
520
Practical Examples of Playwright Regression Testing/Playwrightのリグレッションテストの実用例
kintotechdev
0
9
Claude Code × Playwright環境で 自然言語による指示のみで フロントエンドテストを自動実行できた話
kintotechdev
0
24
Basic Knowledge of Mobile Automation Testing Tool/モバイル自動化テストツールの基礎知識
kintotechdev
0
13
Appiumを動かすまでのつまづきポイント~初心者が感じたリアルな壁と学び~
kintotechdev
0
42
Appiumバージョンはどれを選ぶべき?Appium V1/V2/V3の比較とV3のメリット・デメリット
kintotechdev
0
30
ChatGPT APIとLangChainハンズオン会 投影資料
kintotechdev
0
10
Featured
See All Featured
The SEO identity crisis: Don't let AI make you average
varn
0
32
Product Roadmaps are Hard
iamctodd
PRO
55
12k
Navigating Team Friction
lara
191
16k
The SEO Collaboration Effect
kristinabergwall1
0
300
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
Site-Speed That Sticks
csswizardry
13
1k
Taking LLMs out of the black box: A practical guide to human-in-the-loop distillation
inesmontani
PRO
3
1.9k
Rails Girls Zürich Keynote
gr2m
95
14k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
249
1.3M
AI Search: Implications for SEO and How to Move Forward - #ShenzhenSEOConference
aleyda
1
1k
Imperfection Machines: The Place of Print at Facebook
scottboms
269
13k
How to Grow Your eCommerce with AI & Automation
katarinadahlin
PRO
0
67
Transcript
Exploring New Google Places API KINTOテクノロジーズ ⼤沼 2024/12
©KINTO Corporation. All rights reserved. 2 ⾃⼰紹介 @numaMyk 2010年〜Androidエンジニア 2024年5⽉にKINTOテクノロジーズに⼊社しモビリティサービス
my route の Androidアプリ開発に従事。 BLEタグと屋内の位置情報検知機能で⼈やモノの位置管理システムのプロジェクトを経験。 バイクや登⼭で絶景ハントするのが趣味
©KINTO Corporation. All rights reserved. 3 Index ⽬次 1 はじめに
2 3 4 5 料⾦体系の変更 6 まとめ 新しいオートコンプリート 新しいPlace Typesの追加 Google Places APIとは 7 会社紹介
©KINTO Corporation. All rights reserved. 4 はじめに 今回の発表は、Google Map PlatformのPlaces
APIのアップデート情報を調べてみたことをお話しします。 今年の初めにGoogle I/O 2024にてPlaces APIが新しくなったことが公表され、キャッチアップしたいと 考えました。 この発表で話す内容の調査は以下のライブラリを使⽤したandroidアプリで確認しています。 • Places SDK for Android v4.1.0
©KINTO Corporation. All rights reserved. 5 Google Places APIとは Google
Places APIは、Googleの位置情報データベースを活⽤して、特定の場所や周辺エリアの情報を 取得できるAPIです。 • 場所検索: 現在地や特定の条件に基づいて、レストラン、ホテル、観光地などを検索。 • 詳細情報の取得: 営業時間、電話番号、評価、レビューなどの詳細な場所情報を取得。 • オートコンプリート機能: ユーザーが⼊⼒したキーワードに基づいて、候補をリアルタイムで提案。 モビリティサービスにおける ユーザー体験を向上させるために もってこいのツールですね
©KINTO Corporation. All rights reserved. 6 新しいオートコンプリート 3
©KINTO Corporation. All rights reserved. 7 新しいオートコンプリートの特徴:地域に基づいた精度の向上 より最適な場所の候補を表⽰。 指定した位置情報や地域に基づいてより 関連性の⾼い検索結果が得られやすくなりました
例)ユーザーが「カフェ」と⼊⼒した場合、 現在地周辺のカフェを優先して表⽰。
©KINTO Corporation. All rights reserved. 8 新しいオートコンプリートの特徴:多⾔語対応の強化 Place Autocomplete の
languageCode パラメータを使⽤することで⼊⼒する⾔ 語に依存せず検索結果を出すことができます。 IETF BCP-47 ⾔語コード(例: en、ja など)を渡します。
©KINTO Corporation. All rights reserved. 9 PlacesClient.awaitFindAutocompletePredictions() パラメータ⼀覧 パラメータ名 origin
結果を⽣成する際の起点(ユーザーの位置など)を指定します。 query ユーザーが検索しているクエリ⽂字列 例: "Sushi" や "Tokyo Station" countries 結果を特定の国に制限するためのISO 3166-1 Alpha-2コード(例: "JP") ⼀度に複数の国を指定することも可能 locationBias バイアス(優先)位置 特定の地点や地域に基づく結果を優先し、特定の地域外の候補も出す locationRestriction 制限する領域 特定の地域外の候補を除外 typeFilter オートコンプリート結果を特定のプレイスタイプに制限 例: TypeFilter.ESTABLISHMENT, TypeFilter.ADDRESS sessionToken セッションごとの⼀意なトークン。オートコンプリートセッション全体で⼀意のトークンを 使⽤することで、料⾦の効率化と操作のトラッキングが可能。
©KINTO Corporation. All rights reserved. 10 val origin = LatLng(35.6868974,139.7722662)
placesClient.awaitFindAutocompletePredictions { this.origin = origin locationRestriction = CircularBounds.newInstance(origin, 200.0) typesFilter = listOf(PlaceTypes.ESTABLISHMENT) this.query = query countries = listOf("JP") sessionToken = token } コードサンプル
©KINTO Corporation. All rights reserved. 11 4 新しいPlace Typesの追加
©KINTO Corporation. All rights reserved. 12 新しいPlace Typesの追加 次世代オートコンプリートでは、従来のPlace Typesに加え、
さらに多くの場所タイプがサポートされており、より多様な検索が可能に。 例: ただの「カフェ」だけではなく「ドッグカフェ(dog_cafe) 」タイプが加わり⽝の同伴が可能なカ フェというのがわかったり ただの「美術館」だけではなく「⾞椅⼦の⼊り⼝がある美術館(wheelchair_accessible_entrance)」タイ プが加わりバリアフリー対応なのか など、特定の施設をより精度⾼く検索できるようになりました。
©KINTO Corporation. All rights reserved. 13 • 課題例: ユーザーが外出先で適切な飲⾷店をすばやく⾒つけたい。 APIの活⽤:
• Autocomplete: キーワードを⼊⼒すると、近くの候補をすばやく提⽰。 • Place Details: 各店舗の営業時間、レビュー、混雑状況を表⽰。 • Place Types: 「ヴィーガンレストラン」「ハラールレストラン」など 特定条件の絞り込み。 Place Types を駆使することでどのように課題を解決できるか
©KINTO Corporation. All rights reserved. 14 • 課題例: ユーザーが外出先で適切な飲⾷店をすばやく⾒つけたい。 デザイン視点のポイント
• ⼊⼒補助や候補リストを直感的に⾒やすく設計する。 Place Types を駆使することでどのように課題を解決できるか
©KINTO Corporation. All rights reserved. 15 料⾦体系の変更 5
©KINTO Corporation. All rights reserved. 16 料⾦体系の変更 API利⽤ごとの個別課⾦から、セッション単位の料⾦モデルへ刷新されました。 • セッション
= ユーザーの連続的なAPI呼び出しの期間。 • 最⼤ 15 分間継続可能。 旧料⾦モデルの例 • ユーザーが10回リクエスト -> 10回分課⾦。 新料⾦モデルの例 • 同じ10回リクエストでも1セッション内で完結 -> 1セッション分課⾦。
©KINTO Corporation. All rights reserved. 17 料⾦⽐較 以前: 現在 リクエストごとの課⾦
セッションごとに $17.00/1,000セッション 以前 現在 それぞれ別々に課⾦ セッション単位で $23.00/1,000セッション Places API (Autocomplete): Autocomplete + Place Details:
©KINTO Corporation. All rights reserved. 18 placesClient.awaitFindAutocompletePredictions { this.query =
query sessionToken = token } } どのようにコストを削減できるか (従来の例: 必要以上のデータ取得) 問題点: 上記のコードでは、全てのフィールドをデフォルトで リクエストしているため、不要なデータ取得によるコストが発⽣。
©KINTO Corporation. All rights reserved. 19 val placeFields = listOf(Place.Field.ID,
Place.Field.DISPLAY_NAME, Place.Field.RATING) placesClient.awaitFetchPlace( placeId = placeId, placeFields = placeFields sessionToken = token ) どのようにコストを削減できるか (改善例: 必要なデータフィールドだけを指定) コスト削減のポイント:必要最低限の情報(例: 店名、レビュー 評価)だけを取得。
• 新しいオートコンプリートは、ユーザーの検索体験を より便利でスムーズにアプリケーションの利便性をUP • 必要なPlace.Fieldを必ず指定しリクエストすることで、 コスト効率が向上 まとめ
©KINTO Corporation. All rights reserved. 21 KINTOテクノロジーズ株式会社のご紹介 1
©KINTO Corporation. All rights reserved. 22 KINTOテクノロジーズ公式X
Thank you!