- タイプフィルタリング:
Google Places Autocompleteのリクエストには、タイプフィルタリングを使用することができます。都市のみを表示するようにフィルタリングするには、
types
パラメータに'(cities)'
を指定します。以下はJavaScriptのコード例です。
var input = document.getElementById('autocomplete-input');
var options = {
types: ['(cities)']
};
var autocomplete = new google.maps.places.Autocomplete(input, options);
このコードでは、autocomplete-input
というIDを持つ入力フィールドをGoogle Places Autocompleteにバインドしています。types
パラメータに'(cities)'
を指定することで、都市のみが提案されます。
- ジオコーディングの結果を利用する: もう一つの方法は、Google Places Autocompleteのジオコーディングの結果を利用する方法です。入力されたテキストをジオコーディングし、結果として得られる都市の情報を表示します。以下はPythonのコード例です。
import requests
def get_city_suggestions(input_text):
url = 'https://maps.googleapis.com/maps/api/geocode/json'
params = {
'address': input_text,
'components': 'country:JP',
'key': 'YOUR_API_KEY'
}
response = requests.get(url, params=params)
data = response.json()
cities = []
for result in data['results']:
for component in result['address_components']:
if 'locality' in component['types']:
cities.append(component['long_name'])
return cities
この例では、get_city_suggestions
関数が与えられた入力テキストに基づいて都市の候補を返します。address
パラメータに入力テキストを指定し、components
パラメータには国コードを指定しています(ここでは日本のコードである'JP'を使用)。また、key
パラメータにはGoogle Places APIのキーを指定する必要があります。
以上の方法を使用することで、Google Places Autocompleteを都市のみを表示するように制限することができます。これにより、ユーザーが都市のみを選択できるようになります。