「iOS向けGoogleマップSDKの取得」を段階的に実装しました
最後に、正常に実行されているシミュレーターでエラーは検出されませんでしたが、マーカー以外の詳細はマップにありません。
写真に示すように:
また、下部の出力には次のメッセージがあります。
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「操作を完了できませんでした。(DASHConnectionErrorエラー100。)」
助けてください、事前に感謝します。
@ user1924208同じ問題が発生しています。私は答えをたゆまぬインターネットで検索しましたが、残念ながら私たちは運が悪いと思います。 Google APIコンソールはおそらく、Google Maps iOS APIキーではないGoogle Maps v.3のAPIキーを表示しています。したがって、それをAPIキーとして使用すると、検証要求は常に失敗します。
何らかの理由で、iOSバージョン用に多くのAPIキーを発行していないようです。いらいらしますが、彼らからメールを受け取るまで待つ必要があります(いつになるかはわかりません...)。
現在のAPIキーを任意のランダムな文字列に置き換えると同じ結果になるため、これを確認できます。ちなみに、これはシミュレータと実際のデバイスの両方で同じ結果を生成します。
更新
APIキーが利用可能になったというメールをGoogleマップから受け取りました。 GMSServicesでMKMapKitを切り替えたところ、機能します。 APIキーをリリースするのにもう少し慣れているようですので、すぐに入手できることを願っています。
解決済み:プロセスの小さいながらも非常に重要なステップをすべてスキップしたと思います。
はじめに、他のGoogle APIと一緒にGoogle APIコンソールでiOSサービス用のGoogle Maps SDKを有効にします。
Google APIコンソール でiOS用のGoogleMap SDKを有効にすると、アプリは次回の実行時にタイルを正しくロードします。幸運を!
気をつけて、[サービス]タブで[iOS用GoogleマップSDK]も有効にしていることを確認してください。
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.)"
私は同様の問題を抱えていましたが、SDKパッケージのサンプルプロジェクトが実際のアプリで使用したそのキーとバンドルIDのペアで動作するため、APIキーは良好であると確信しました。 APIキーが有効でないと思われる場合、最新(1.2)バージョンのSDKは実際に警告をログアウトします。マップを表示できなかった理由は、プロジェクト設定のターゲットサマリタブでビルド番号を入力しなかったためです。 Googleマップを機能させるには、Info.plistでCFBundleVersionを設定する必要があります。そうしないと、エラーや警告が表示されたり、Web要求が行われたりすることなく、マップが空白のままになります。
同じ問題がありました。 問題は、私のプロジェクトの「バンドル識別子」が、Google APIコンソールのバンドル識別子の1つと異なることだと思います。
そこで、Google APIコンソールにバンドル識別子を追加します。ProjectNavigatorからプロジェクト自体を選択し、アプリケーションのターゲットを選択します。タブ概要で、バンドル識別子の文字列を覚えておいてください。
Google APIコンソールページに移動し、コンソールで[APIアクセス]ペインを選択し、[iOSアプリのキー]セクションを見つけ、[許可されたiOSアプリを編集...]を選択し、上記の覚えているバンドル識別子を追加します。プロジェクトを再実行して完了!
重要:iOSデバイスからGoogleマップで練習したい場合は、GoogleMaps.frameworkをダウンロードするだけです。
知らないうちにGoogleMapsM4B.frameworkをダウンロードし、「バンドルIDに対してキーが無効である可能性があります:com.company.example
'
プロジェクトでGoogleMapsM4B.frameworkを使用する場合は、1。エンタープライズサポートポータル(GoogleのWebサイト)でサポートをリクエストする必要があります2. Googleを有効にする必要がありますMaps Mobile SDK for Work ではなく Google Maps SDK for iOS GoogleのコンソールWebサイト。
GoogleMaps.frameworkではなく GoogleMapsM4B (Maps for Business)を使用する場合は、サポートセンターにリクエストする必要はありません。 GoogleのコンソールウェブサイトでiOS向けGoogle Maps SDKを有効にします。
IOS用Google Maps SDKと 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」というエラーが表示されました
現在、私のプロジェクトは正常に機能しています。
私は同じ問題を抱えていたので、Googleコンソールに行き、「Generate new key」をクリックし、新しいキーが機能しました!
別の角度からこれをフォローアップします。
Google Mapsフレームワークの以降のバージョンにはバグがあり、アプリがバックグラウンドにある場合、マップをインスタンス化/作成/スーパービューに追加できませんでした。
これを行うと、結果のマップは、左下のGoogleロゴ以外に完全に空白として表示されます。これは、OpenGLレンダリングがバックグラウンドでOSに許可されていないためです。フォアグラウンドになったらレンダラーを再起動する必要がありました。
Googleはfinallyでこれを修正しました(約1年後)ので、最新かつ最高のものにアップグレードしてください。
Google for Businessを使用している場合:
pod 'Google-Maps-iOS-SDK-for-Business', '~> 1.11.1'
この問題の再現は、古いバージョンでは here です。
視覚的な再現:
同じ問題が発生しました。確かにすべてが正しかった。そして重要なのは、APIキー作業に時間がかかる(おそらくそれに関する情報はGoogleサーバーを介して伝播するため、最も近いサーバーはまだ新しいAPIキーを認識できなかったということです)。
APIキーの作成エラーが停止してから5分ほどで、APIキーが完全に機能するようになりました。 (注、Googleからのメールは受信していません)。
まず最初に、鍵を正しいものにします。 iOS向けGoogle Maps SDKを有効にしているかどうかを確認するよりも。シミュレータではなく、デバイスでアプリを実行するよりも。
変更していないことを確認してください
[バンドル識別子]
アプリ用。 APIキーを生成するときに使用したものと一致する必要があります。
これは私を助けてくれました:(APIが{}で囲まれていない限りXCodeが元々エラーを返していたため、Misspelt APIキー IOS-ObjC Google Maps Api Key
別のヘッズアップ!アプリのバンドルIDが、Google APIコンソールの[iOSアプリ]フィールドで定義されたバンドルIDと一致することを確認してください。
定数にAPIキーを保存しないようにしてください。値を直接渡します。動作していない場合は、APIキーマップを再生成してみてください。
MapServices.ProvideAPIKey ("AIzaSyAnxfhuAwEqdVhQpoUkGFZpsBukOSXVFr0");
ハッピーコーディング:)
私にとっては、アプリのバンドル識別子が変更されたためです。新しいバンドル識別子の新しいAPIキーを取得した後、再び動作を開始します。
有効なAPIキーを指定していないようです。持っていますか?
このエラーは、Googleマップの初期化に使用された無効なキーを示しています。
[GMSServices provideAPIKey:@"YOUR_API_KEY"];
キーは、iOS SDK専用にGoogleによって発行されます(明らかに選択された少数のものにのみ)。 Google Maps SDK v2およびv3のキーはAppleでは機能しません。
エラーが実際に無効なキーによって引き起こされていることを確認する方法は、プッシュピンを表示することです。プッシュピンは有効なキーを必要としないため、空のマップビューオブジェクトに表示されます。 「はじめに」ページのサンプルのコーディング https://developers.google.com/maps/documentation/ios/start#add_a_map はアプリになります空のマップビューを表示します(背景が黄色で、中央に画displayingがあります)。
ピンが表示されることを保証する最良の方法は、カメラとマーカーの両方にまったく同じ座標を使用することです。スニペットを参照してください。
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];
この問題を次のように解決しました。