web-dev-qa-db-ja.com

Google Places API:複数のタイプを使用するにはどうすればよいですか?

評価、写真、開閉時間などを返すPOI APIが必要で、Google Places APIは私が望むことを実行しているように見えましたが、フィルタリングに問題があります。複数のタイプでオートコンプリート機能を使用したいフィルタリング。

これが私が持っているものです:

var map;
var selectAttractionAutocomplete;
var selectCityAutocompleteOptions = {
    types: ['(cities)']
};

map = new google.maps.Map(document.getElementById('map-canvas'), {
    center: new google.maps.LatLng(-33.8665433, 151.1956316),
    zoom: 15
});

var inputsearchedCity = document.getElementById('input-searched-city');
selectCityAutocomplete = new google.maps.places.Autocomplete(inputsearchedCity, selectCityAutocompleteOptions);
selectCityAutocomplete.bindTo('bounds', map);

google.maps.event.addListener(selectCityAutocomplete, 'place_changed', function () {
    console.log(selectCityAutocomplete.getPlace());
});

複数のタイプを使用するにはどうすればよいですか?

パイプ、コンマ、ブラケットを試しました...何も機能しません:

var selectCityAutocompleteOptions = {
    types: ['cities|point_of_interest']
};
11
pookie

Googleドキュメント によると、point_of_interestはタイプ2であり、場所検索のタイプ​​フィルター、または場所を追加するときのタイププロパティではサポートされていません。

2
Verma

クエリ文字列で使用している場合は、|を使用しますセパレータ。現在、コレクションタイプとして有効なのは「geocode | Establishment」のみであることに注意してください。これは、結合されたタイプを指定しない場合と同じです。

参照: https://developers.google.com/places/web-service/autocomplete#place_types

Typesパラメータを渡すことで、PlaceAutocompleteリクエストの結果を特定のタイプに制限できます。以下のサポートされているタイプにリストされているように、パラメーターはタイプまたはタイプコレクションを指定します。何も指定されていない場合は、すべてのタイプが返されます。一般に、単一のタイプのみが許可されます。例外は、ジオコードと施設のタイプを安全に混在させることができることですが、これはタイプを指定しない場合と同じ効果があることに注意してください。

3
Juangui Jordán

最近これに遭遇しました。答えはここにあります Google Places Auto-Complete

タイプ。2つの明示的なタイプの1つまたは2つのタイプコレクションの1つのいずれかを指定できます。

0
kylestephens

この質問の一部は このスレッド で回答されています。

まず、サポートされていない「都市」の場所タイプ。サポートされている場所の種類のリストを見つけることができます ここ

一度に複数のタイプを使用する方法はありません。ただし、同様の結果を得るためにAPIを2回呼び出すことができます。例えば:

var selectCityAutocompleteOptions1 = {
  types: ['Zoo']
};
var selectCityAutocompleteOptions2 = {
  types: ['museum']
};

ただし、説明に基づくと、タイプでフィルタリングせずに、すべての興味のあるポイントの結果が必要なようです。その場合は、代わりに プレイスリクエストの検索プレイス検索 を使用することをお勧めします。

0
Christina Houck