23

ユーザーの近くにある ATM のリストを取得するアプリを開発しています。そのために Google Places API を使用していますが、毎回 20 件の結果しか返されません。もっと結果を出したい。API ドキュメントでは、20 の結果が返されると言及されていますが、より多くのデータを取得する方法があるか、それとも独自のデータベースを作成する必要があるか知りたいですか?
また、API で見つけたのは、インド向けの ATM がすべて揃っているわけではないということです。また、一部の場所では情報が正確ではありません。それで、私は自分のデータベースを使うべきかどうかについてのアイデアを教えてください。
Google プレイスに場所を登録できることはわかっていますが、毎回 20 件の結果しか返されないという問題があります。とにかくこの問題が解決された場合は、Places API を使用することをお勧めします..

どうか助けてください……。

4

7 に答える 7

28

ドキュメントに従って:

https://developers.google.com/places/web-service/search#PlaceSearchResponses

編集: Place API は、最大 60 件の結果のページネーションをサポートするようになりました。詳細については、以下を参照してください。

Places API は、クエリごとに最大 20 の施設を返します。ただし、各検索では 3 ページに分割されて最大 60 件の結果が返される可能性があります。検索で 20 を超える結果が返される場合、検索応答には追加のパラメーター (next_page_token) が含まれます。next_page_token の値を新しいプレイス検索の page_token パラメータに渡して、次の 20 件の結果セットを表示します。

場所検索からの参照トークンなど、保存が許可されているコンテンツ識別子またはキーでない限り、コンテンツを事前取得、キャッシュ、または保存できないことを指定する厳格なサービス条件もあります。

https://cloud.google.com/maps-platform/terms/?_ga=#3-ライセンス

インドでATMが見つからないことについて。Google が場所に関する十分なメタデータを取得して、、などのestablishmentより具体的な場所の種類に分類するまで、すべての場所はその種類に分類されます。より多くの結果が得られる可能性がある回避策は、リクエストで「ATM」などのパラメーターを使用することです。 、値として「銀行」または「金融」。ドキュメントに従って:ATMcafebarkeyword

https://developers.google.com/places/web-service/search#PlaceSearchRequests

このkeywordパラメーターは、名前、タイプ、住所、およびカスタマー レビューやその他のサードパーティ コンテンツを含むがこれらに限定されない、使用可能なすべてのフィールドと照合されます。

于 2012-03-09T01:20:56.950 に答える
19

Google APIは、1つのページで20の結果をフェッチします。次のページの20の結果を使用する場合、結果としてgoogleの最初のページのxmlからnext_page_tokenを使用します。

1) https://maps.googleapis.com/maps/api/place/search/xml?location=Enter latitude,Enter Longitude&radius=10000&types=store&hasNextPage=true&nextPage()=true&sensor=false&key=Enter Google_Map_key

2番目のステップでは、最初のページのnext_page_tokenデータを使用します

2)https://maps.googleapis.com/maps/api/place/search/xml?location=Enter Latitude,Enter Longitude&radius=10000&types=store&hasNextPage=true&nextPage()=true&sensor=false&key=enter google_map_key &pagetoken="Enter the first page token Value"

于 2012-09-13T13:12:42.687 に答える
6

これは、Google API Java クライアントを使用して実行できます。Java クライアントを使用して 60 件すべての結果を取得する例を次に示します。

public PlacesList search(double latitude, double longitude, double radius, String types)
            throws Exception {

        try {

            HttpRequestFactory httpRequestFactory = createRequestFactory(HTTP_TRANSPORT);
            HttpRequest request = httpRequestFactory
                    .buildGetRequest(new GenericUrl("https://maps.googleapis.com/maps/api/place/search/json?"));
            request.getUrl().put("key", YOUR_API_KEY);
            request.getUrl().put("location", latitude + "," + longitude);
            request.getUrl().put("radius", radius); 
            request.getUrl().put("sensor", "false");
            request.getUrl().put("types", types);

            PlacesList list = request.execute().parseAs(PlacesList.class);

            if(list.next_page_token!=null || list.next_page_token!=""){
                         Thread.sleep(4000);
                         /*Since the token can be used after a short time it has been  generated*/
                request.getUrl().put("pagetoken",list.next_page_token);
                PlacesList temp = request.execute().parseAs(PlacesList.class);
                list.results.addAll(temp.results);

                if(temp.next_page_token!=null||temp.next_page_token!=""){
                    Thread.sleep(4000);
                    request.getUrl().put("pagetoken",temp.next_page_token);
                    PlacesList tempList =  request.execute().parseAs(PlacesList.class);
                    list.results.addAll(tempList.results);
              }

            }
            return list;

        } catch (HttpResponseException e) {
            return null;
        }

    }
于 2012-10-10T17:57:16.177 に答える
0

以下のパラメータを使用して以下のURLを試してください

URL = " http://www.google.com/maps?q=restaurant&ie=UTF8&hl=en&sll=0.000000,0.000000&sspn=0.000000,0.000000&vps=3&sa=N&start=20 "

ここで、start =結果はありません。たとえば、0または10 0r 20 –から開始します。

于 2012-04-27T11:10:30.927 に答える
-1

次のページ トークンからより多くの結果を取得できます。

https://maps.googleapis.com/maps/api/place/textsearch/json?query=[your search key word]&location=latitude,longitude&radius=value&key=[your API key]&next_page_token=next_page_token value
于 2016-05-24T06:22:47.777 に答える