1

iOS アプリケーションに Google Places API を使用しています。API コンソールから Google Maps Android API v2、Places API を有効にしました。API アクセス セクションで iOS キーを作成します。次のコードを使用して、Google Places API にリクエストを送信しています。

NSString *finalString = [NSString stringWithFormat:@"https://maps.googleapis.com/maps/api/place/search/json?location=%f,%f&radius=5000&keyword=restaurants&sensor=false&key=PASTE_GENERATED_KEY_HERE",_location.coordinate.latitude,_location.coordinate.longitude];

    ASIHTTPRequest *request = [ASIHTTPRequest requestWithURL:[NSURL URLWithString:finalString]];

しかし、私はJSON応答で次のようになっています

{
    "debug_info" =     (
    );
    "html_attributions" =     (
    );
    results =     (
    );
    status = "REQUEST_DENIED";
}

同様に機能していない新しいキーを再生成しました。誰かが私がここで間違っていることを理解してもらえますか?

4

2 に答える 2

5

「...Google Places API は現在、Google API コンソールから生成された iOS キーをサポートしていません。現在サポートされているのは、サーバー キーとブラウザ キーのみです..」

...このサポートをリクエストしたい場合は、Places API - Feature Requestを提出してください.."

この回答から: https://stackoverflow.com/a/14744513/1702413

Google Maps JavaScript API v3 ( Google Maps API v3 の Places Library )を使用できます。

また..

Sencha Touch のような HTML5 モバイル アプリケーション フレームワークを使用している場合は、iOS から作業しています。このチュートリアルを確認できます。 Sencha Touchで位置認識サイトを作成する

UPD

Key for browser apps (with referers)APIコンソールから使用している場合は機能しています

たとえば(私はAFNetorkingを使用しています):

        NSURL *url = [NSURL URLWithString:@"https://maps.googleapis.com/maps/api/place/textsearch/json?query=restaurants+in+Sydney&sensor=true&key=yourKEYforBrowser"];

NSURLRequest *request = [NSURLRequest requestWithURL:url];

AFJSONRequestOperation *operation = [AFJSONRequestOperation JSONRequestOperationWithRequest:request success:^(NSURLRequest *request, NSHTTPURLResponse *response, id JSON) {

            NSArray *result = [JSON valueForKeyPath:@"results"];
            NSLog(@"Google Resp: %@", result);

        } 
failure:^(NSURLRequest *request, NSHTTPURLResponse *response, NSError *error, id JSON)
                                             {
                                                 NSLog(@"error");
                                             }
                                             ];

        [operation start];
于 2013-07-18T08:14:28.830 に答える
1

Google Places APIキーを取得するのは非常に簡単です。

「Android / iOS」キーを作成するところに、ブラウザキーを作成するためのボタンがあります。

「Create new Browser Key」を押して「Create」ボタンをクリックするだけです。

「しかし、体は空のままにしておいてください」

同様の質問の詳細については、@Moe がスクリーンショットを使用して完全なフローを説明しました。

于 2014-01-03T10:59:44.983 に答える