質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
Google API

Googleは多種多様なAPIを提供していて、その多くはウェブ開発者向けのAPIです。それらのAPIは消費者に人気なGoogleのサービス(Google Maps, Google Earth, AdSense, Adwords, Google Apps,YouTube等)に基づいています。

iOS

iOSとは、Apple製のスマートフォンであるiPhoneやタブレット端末のiPadに搭載しているオペレーションシステム(OS)です。その他にもiPod touch・Apple TVにも搭載されています。

Xcode

Xcodeはソフトウェア開発のための、Appleの統合開発環境です。Mac OSXに付随するかたちで配布されています。

Swift

Swiftは、アップルのiOSおよびOS Xのためのプログラミング言語で、Objective-CやObjective-C++と共存することが意図されています

Google マップ

Google Mapは、Google社がオンラインで提供している地図・ローカル検索サービスです。GIS(Geographic Information System:地理情報システム)の中の「WebGIS」に該当します。地図・航空写真・地形の表示方式があり、それぞれユーザーが縮尺を調整して表示させることができます。地域の情報サービスを検索する機能やルート検索の機能も搭載されています。

Q&A

解決済

3回答

3340閲覧

Google Maps iOS SDKで近くのスーパーマーケットを表示させたい

shihominorth

総合スコア46

Google API

Googleは多種多様なAPIを提供していて、その多くはウェブ開発者向けのAPIです。それらのAPIは消費者に人気なGoogleのサービス(Google Maps, Google Earth, AdSense, Adwords, Google Apps,YouTube等)に基づいています。

iOS

iOSとは、Apple製のスマートフォンであるiPhoneやタブレット端末のiPadに搭載しているオペレーションシステム(OS)です。その他にもiPod touch・Apple TVにも搭載されています。

Xcode

Xcodeはソフトウェア開発のための、Appleの統合開発環境です。Mac OSXに付随するかたちで配布されています。

Swift

Swiftは、アップルのiOSおよびOS Xのためのプログラミング言語で、Objective-CやObjective-C++と共存することが意図されています

Google マップ

Google Mapは、Google社がオンラインで提供している地図・ローカル検索サービスです。GIS(Geographic Information System:地理情報システム)の中の「WebGIS」に該当します。地図・航空写真・地形の表示方式があり、それぞれユーザーが縮尺を調整して表示させることができます。地域の情報サービスを検索する機能やルート検索の機能も搭載されています。

0グッド

0クリップ

投稿2020/02/03 05:49

編集2020/02/03 17:29

前提・実現したいこと

こんにちは。今現在iOSアプリを開発しているのですが、GoogleMaps APIを使ったアイデアが実現方法が思いつかず悩んでいます。下記のように近くのスーパーマーケットの位置をアプリ内に表示しようとしています。しかし複数のマーカーをこのように表示させる方法が思い当たりません。Google maps APIではこのように表示することは不可能なのでしょうか。

イメージ説明``

試したこと

https://www.raywenderlich.com/197-google-maps-ios-sdk-tutorial-getting-started

上記のチュートリアルを見ながら、実装しています。ですがどのコードが、どのように近くのスーパーを表示させるのに応用できるか思いつきません。

発生している問題・エラーメッセージ

Use of undeclared type 'GooglePlace'

### 該当のソースコード import UIKit import GoogleMaps class PlaceMarker: GMSMarker { // 1 let place: GooglePlace // 2 init(place: GooglePlace) { self.place = place super.init() position = place.coordinate groundAnchor = CGPoint(x: 0.5, y: 1) appearAnimation = .pop } } ```swift5 今マーカーのクラスを作っていて、このようなエラーが表示されていますGoooglePlaceに変わるものはあるのでしょうか? ### 補足情報(FW/ツールのバージョンなど) swift5 xcode 11.3 進捗状況 皆様の回答から、Google Place APIとネットワーク通信(HTTP通信)でFetchしている最中です。1日に通信できる制限を超えてしまうので、その制限をgoogle consoleで編集しようと思っています。念のため、plistのファイルを作り、github上に直接apiKeyを載せないようにしました。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

MasatoUchida

2020/02/03 06:53

Googleが提供しているMaps SDK for iOSの公式サイトをご覧になれば自ずと解決すると思います。
shihominorth

2020/02/03 10:09

アドバイスありがとうございます。現在公式サイトも参考にしているのですが、どの部分も複数のマーカーを表示する方法または、近くのスーパーの位置情報を取得する方法が分からないので質問させていただいております。世界中ユーザーがどこにいても、近くのスーパーの位置情報を取得できる方法がありますでしょうか。お時間いただきありがとうございます。返信お待ちしております。
guest

回答3

0

ベストアンサー

>ユーザーの現在地近くのスーパーの位置情報(緯度、経度?)を取得することは難しいですか?説明不足で大変申し訳ございません。返信いただけたら幸いです。

https://developers.google.com/places/web-service/search
このページの、Places APIのPlace Searchを試してみてください。

https://maps.googleapis.com/maps/api/place/findplacefromtext/以降スーパー店名など検索文字列のクエリー

みたいな検索文字を含めたURLを組み立ててリクエストすると、JSONまたはXML形式のレスポンスが
返ってきます。
レスポンスには緯度経度名前が、見つかった複数件含まれているので、それらを順番に取り出して
マップにマークすれば良いです。

投稿2020/02/03 10:40

technocore

総合スコア7200

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

shihominorth

2020/02/03 10:51

返信ありがとうございます。先ほど他の回答していただいた方のアドバイスを参考に、同じような結論に至ったのですが、ネットワーク通信(例えばURLSession, HTTP通信、REST API, Alamofireなど)を実装しなければいけないぐらいしか思いつきません。ネットワーク通信はまだまだ勉強中なので、どのようにSwiftとjsonでコードを書かなければならないのか何か参考になるご意見はありますでしょうか。何も分からない大馬鹿ですみません...
technocore

2020/02/03 10:57

Swift WebAPIで検索してみてください。 解説されているサイトが多数見つかります。 ・リクエストクエリーの作り方 ・リクエストの送信方法 ・レスポンスの受信方法 ・受信したJSON、XMLのパース方法 などWebAPIを利用するための解説サイトがたくさん見つかります。
shihominorth

2020/02/03 11:22

早速復習しなおします。たくさん質問に答えてくださりありがとうございます。
guest

0

周辺地域の情報を検索するにはMaps SDK for iOSではなくPlace APIを使用します。
一言にGoogle Mapといっても、PlaseAPI,RoadsAPI、Autocomplete等種類があるので、公式サイトをご覧ください。

投稿2020/02/03 09:59

MasatoUchida

総合スコア134

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

shihominorth

2020/02/03 10:42 編集

ご回答ありがとうございます。今google place apiで、以下のページのNearby search exampleのセクションがヒントになりそうだなと思っているのですが、ここからがさっぱり分からないです。 https://developers.google.com/places/web-service/search 上記のセクションの https://maps.googleapis.com/maps/api/place/nearbysearch/json?location=-33.8670522,151.1957362&radius=1500&type=restaurant&keyword=cruise&key=YOUR_API_KEY このURLをどこかに打ち込んで、ネットワーク通信(HTTPやURLSession、Rest APIを使って)をするのかなということぐらいしか思いつきません。もう少し詳しくご教授お願いできますでしょうか?お返事いただければ幸いです。
guest

0

https://developers.google.com/maps/documentation/ios-sdk/start
Google Maps SDK for iOS のドキュメントを見るとマーカーを配置するサンプルがあります。
この部分をメソッドにして、位置情報やタイトルを引数で渡す処理を繰り返せば、マーカーを複数配置できると思います。
試してみてはいかがでしょう。

// Creates a marker in the center of the map. let marker = GMSMarker() marker.position = CLLocationCoordinate2D(latitude: -33.86, longitude: 151.20) marker.title = "Sydney" marker.snippet = "Australia" marker.map = mapView

投稿2020/02/03 06:54

technocore

総合スコア7200

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

shihominorth

2020/02/03 07:17

早速のご回答ありがとうございます。おそらく回答の中でおっしゃっている近くのスーパーの位置を取得するメソッドの中身は先ほど貼り付けたコードや下記のURLの方法だと思いますが、先ほどのコードの中ではGooglePlaceのところにエラーが出てしまうこと、そしてマーカーの緯度と経度が必要ですよね? ユーザーの現在地の近くのスーパーの位置情報(緯度と経度など)を複数取得する方法が全く思いつきません... すみません、全くの初心者なので説明が難しいと思いますが、お力を貸していただけませんでしょうか... https://stackoverflow.com/questions/44333550/get-list-of-nearby-places-from-google-places-api-swift-3
technocore

2020/02/03 08:45

>現在地の近くのスーパーの位置情報(緯度と経度など)を複数取得する ブラウザのGoogle マップ上でマウスを右クリック、「この場所について」を選ぶと緯度経度が 表示されます。その座標を集めてプログラム内の配列やUserDefaultなどに保持しておけばいいです。
shihominorth

2020/02/03 10:09

ご返信ありがとうございます。その方法ですと、ごく一部の地域の中の私自身が手入力で設定したスーパーしか表示できないと思うのですがあっていますでしょうか。ユーザーが世界中どこにいても、ユーザーの現在地近くのスーパーの位置情報(緯度、経度?)を取得することは難しいですか?説明不足で大変申し訳ございません。返信いただけたら幸いです。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問