28

「Google Maps SDK for iOS の取得」を段階的に実装しました

最後に、シミュレーターは正常に実行され、エラーは見つかりませんでしたが、マップにはマーカー以外の詳細がありません。

写真のように:

シミュレーターのスクリーンショット

また、下部の出力には次のメッセージがあります。

2012-12-23 01:06:59.869 GogleMap[3680:c07] GMSZoomTableQuadTree には、> タイル タイプのルート ズーム テーブルがありません (mapType: 10) 2012-12-23 01:07:00.042 GogleMap[3680:1b03] Google Maps SDK for iOS バージョン: 1.0.1.1154 2012-12-23 01:07:00.375 GogleMap[3680:c07] ClientParametersRequest が失敗しました。3 回の試行が残っています。エラー Domain=DASHConnectionError Code=100 "The operation could not be completed. (DASHConnectionError error 100.)"

助けてください、そして前もって感謝します。

4

20 に答える 20

63

解決済み: 私たちは皆、プロセスの小さいながらも非常に重要なステップを飛ばしてしまったと思います。

開始するには、Google API コンソールで Google Maps SDK for iOS サービスを他の Google API と一緒に有効にします。

ここに画像の説明を入力

Google API コンソールで iOS 用 GoogleMap SDK を有効にすると、アプリは次回の実行時にタイルを正しく読み込みます。幸運を!

于 2013-02-22T16:08:50.173 に答える
8

@ user1924208 私は同じ問題を抱えています。私はインターネットでたゆまぬ答えを探しましたが、残念ながら私たちは運が悪いと思います. Google API コンソールには、おそらく Google Maps v.3 の API キーが表示されますが、これは Google Maps iOS API キーではありません。したがって、それを API キーとして使用すると、検証リクエストは常に失敗します。

iOS版のAPIキーはなぜかあまり発行されていないようです。イライラするのと同じくらい、彼らからメールを受け取るまで待つ必要があります (それがいつになるかはわかりません...)。

現在の API キーをランダムな文字列に置き換えても同じ結果が得られるため、これを確認できます。ちなみに、これは、シミュレーターと私がテストした実際のデバイスの両方で同じ結果を生成します。

アップデート

API キーが利用可能になったというメールを Google マップから受け取りました。MKMapKit を GMSServices に切り替えましたが、動作しています。API キーをリリースすることに少し慣れてきたようですので、すぐに取得できることを願っています。

于 2012-12-23T18:16:17.840 に答える
6

[サービス] タブで [Google Maps SDK for iOS] も有効になっていることを確認してください。

APIキーを生成しただけで、サービスを有効にするのを忘れていることに気付くまで、同様のエラーが発生していました。私の問題を解決しました。

SDKDemos[160:907] ClientParametersRequest failed, 0 attempts remaining (0 vs 5). 
Error Domain=com.google.Maps.GMSDASHConnection Code=100 
"The operation couldn’t be completed. (com.google.Maps.GMSDASHConnection error 100.)"
于 2013-02-22T06:32:19.257 に答える
3

同様の問題がありましたが、SDK パッケージのサンプル プロジェクトが実際のアプリで使用したキーとバンドル ID のペアで動作したため、API キーが適切であると確信していました。SDK の最新 (1.2) バージョンでは、API キーが有効でないと思われる場合、実際には警告がログアウトされます。マップの表示に失敗したのは、プロジェクト設定のターゲットの概要タブでビルド番号を入力しなかったためです。Google マップを機能させるには、Info.plist に CFBundleVersion を設定する必要があります。そうしないと、マップが空白のままになり、エラーや警告が表示されず、Web リクエストが行われることさえありません。

于 2013-04-20T19:34:34.163 に答える
2

私は同じ問題を抱えていました。問題は、プロジェクトの「バンドル識別子」が、Google API コンソールのバンドル識別子の 1 つと異なることだと思います

そこで、Google API コンソールにバンドル識別子を追加します。プロジェクト ナビゲータからプロジェクト自体を選択し、アプリケーションのターゲットを選択します。タブのSummaryで、 Bundle Identifierの文字列を覚えておいてください。

Google API コンソール ページに移動し、コンソールで [API アクセス] ペインを選択し、[iOS アプリのキー] セクションを見つけて、[許可された iOS アプリを編集...] を選択し、上記で覚えているバンドル ID を追加します。プロジェクトを再実行して完了です!

于 2013-02-27T16:40:30.167 に答える
2

位置情報が有効になっていることを確認してください

シミュレーターのオプション 機能->場所->Apple

ここに画像の説明を入力

于 2020-12-11T12:06:52.157 に答える
1

重要: iOS デバイスから Google マップで練習したい場合は、GoogleMaps.frameworkをダウンロードしてください。

知らないうちにGoogleMapsM4B.frameworkをダウンロードしたところ、「バンドル ID に対してキーが無効である可能性があります: com.company.example」などの問題に直面しました。

プロジェクトでGoogleMapsM4B.frameworkを使用する場合は、1.エンタープライズ サポート ポータル (Google の Web サイト) でサポートをリクエストする必要があります。 2. Google のコンソール Web サイトで、Google Maps SDK for iOSではなく、 Google Maps Mobile SDK for Work を有効にする必要があります。

GoogleMapsM4B (Maps for Business) ではなくGoogleMaps.frameworkを使用する場合は、サポート センターにリクエストする必要はありません。Google のコンソール Web サイトで Google Maps SDK for iOS を有効にするだけで済みます。

Google Maps SDK for iOS とGoogle Maps Mobile SDK for Work (M4B)の主な違いを確認できます。

GoogleMaps/GoogleMaps.h をファイルにインポートし、API キーを以下のメソッドに渡します。

[GMSServices provideAPIKey:@“Your API Key“];

(また)

有効なライセンスをお持ちの場合は、GoogleMapsM4B.framework をダウンロードして GoogleMapsM4B/GoogleMaps.h をファイルにインポートし、API を同じメソッドに渡します[GMSServices provideAPIKey:@“Your API Key“] が、ライセンスを購入した後にのみこのキーを取得できると思います。

したがって、私が直面した主な問題は...GoogleMaps.frameworkをダウンロードする代わりに、GoogleMapsM4B.frameworkダウンロードしてプロジェクトに追加したことです。プロジェクトを実行するたびに、「バンドル ID のキーが無効である可能性があります: com.example.sampleapp」というエラーが表示されます。

現在、私のプロジェクトは正しく機能しています。

于 2015-02-25T15:43:46.430 に答える
1

私は同じ問題を抱えていたので、Googleコンソールに行き、「新しいキーを生成する」をクリックすると、新しいキーが機能しました!

于 2013-02-28T19:01:19.390 に答える
1

これを別の角度からフォローアップします。

Google マップ フレームワークの新しいバージョンには、アプリがバックグラウンドにある場合にマップをインスタンス化/作成/スーパービューに追加できないというバグがありました。

これを行うと、結果のマップは、左下の Google ロゴ以外は完全に空白として表示されます。これは、OS がバックグラウンドで OpenGL レンダリングを許可しないためです。レンダラーがフォアグラウンド化されたら、レンダラーを再起動する必要がありました。

Google は最終的にこれを修正しました (約 1 年後) ので、最新かつ最高のバージョンにアップグレードしてください。

Google for Business を使用している場合:

pod 'Google-Maps-iOS-SDK-for-Business', '~> 1.11.1'

この問題の再現は、古いバージョン用です

ビジュアル再現:

OpenGL バグ

于 2015-12-23T19:26:52.087 に答える
1

変更していないことを確認してください

バンドル識別子

アプリのために。API キーの生成時に使用したものと一致する必要があります。

于 2013-03-29T05:09:13.637 に答える
0

有効な API キーが指定されていないようです。持っていますか?

于 2012-12-23T14:33:48.113 に答える
0

私にとっては、アプリのバンドル識別子が変更されたためです。新しいバンドル識別子の新しい API キーを取得すると、再び機能し始めます。

于 2014-05-12T07:13:18.843 に答える
0

別のヘッドアップ!アプリのバンドル ID が、Google API コンソールの「iOS アプリ」フィールドで定義されたバンドル ID と一致していることを確認してください。

于 2013-03-25T10:33:05.057 に答える
0

このエラーは、Google マップの初期化に使用されたキーが無効であることを示しています。

[GMSServices provideAPIKey:@"YOUR_API_KEY"];

このキーは、特に iOS SDK 用に Google によって発行されます (明らかに、選択された少数のものに対してのみ)。Google Maps SDK v2 および v3 のキーは Apple では機能しません。

エラーの原因が実際に無効なキーであることを確認する方法は、画鋲を表示することです。Pushpin は有効なキーを必要としないため、空のマップ ビュー オブジェクトに表示されます。はじめにページhttps://developers.google.com/maps/documentation/ios/start#add_a_mapの例をコーディングすると、アプリに空のマップ ビューが表示されます (黄色がかった背景と中央に画鋲が表示されます)。

ピンが確実に見えるようにする最善の方法は、カメラとマーカーの両方にまったく同じ座標を使用することです。スニペットを参照してください。

GMSCameraPosition *camera = [GMSCameraPosition cameraWithLatitude:43.65
                                                        longitude:-79.45
                                                             zoom:6];

mapView_ = [GMSMapView mapWithFrame:CGRectZero camera:camera];

mapView_.myLocationEnabled = YES;
self.view = mapView_;

GMSMarkerOptions *markerOptions = [[GMSMarkerOptions alloc] init];
markerOptions.position = CLLocationCoordinate2DMake(43.65, -79.45);
markerOptions.title = @"Greater Toronto Area";

[mapView_ addMarkerWithOptions:markerOptions];
于 2013-02-06T16:28:40.947 に答える
-1

現在、Apple はGoogleマップを削除し、Appleマップを追加しています。

次のことを確認してください。

  1. マップ ビューでのズームを減らします。

  2. どのバージョンの iOS が使用されていますか? iOS 6 を使用した場合、Google マップは機能しません。Apple マップは機能する必要があります。

  3. シミュレーターが一部のコア機能をサポートしていない場合があります。デバイスの機能を親切にチェックしてください。

  4. デリゲートとデータソースを設定する必要があることを確認してください。

ありがとう。

于 2012-12-23T06:11:47.567 に答える