Autocomplete
ユーザーが開発ガイドに関連付けられている入力ボックスに入力する内容に関しては、入力内容を制御するためにできることはあまりありません。Autocomplete
ただし、 api-docを設定するときに、返される結果を制御するオプションを定義できます。types
あなたにとっての鍵は、オプションを正しく設定することです。
質問#1に固有に、次の例に示すようにに設定することで、Autocomplete
アドレスに返される結果を制限できます。types
geocode
var defaultBounds = new google.maps.LatLngBounds(
new google.maps.LatLng(-33.8902, 151.1759),
new google.maps.LatLng(-33.8474, 151.2631));
var input = document.getElementById('searchTextField');
var options = {
bounds: defaultBounds,
types: ['geocode']
};
autocomplete = new google.maps.places.Autocomplete(input, options);
質問#2に固有に、次のように設定することで、に戻ってくる結果Autocomplete
を都市に制限できます。types
cities
var input = document.getElementById('searchTextField');
var options = {
types: ['(cities)'],
componentRestrictions: {country: 'fr'}
};
autocomplete = new google.maps.places.Autocomplete(input, options);
Autocomplete
また、に制限されているため、都市を検索する国(この場合はフランス)を設定するための指定子を(cities)
追加し、指定子を削除したことにも注意してください。componentRestrictions
bounds
次のUML図に示すように、質問#3に固有に、2つのテーブルを作成できます。1つは都市データを格納し、もう1つは住所データを格納します。
質問の説明に基づいて、この設計にはいくつかの重要な側面があります。
- からへは1対多の関係があり
City
ますAddress
。Address
これにより、多くのレコードを1つのレコードに関連付けることができますCity
。Address
また、任意のに入力されたすべてのレコードを簡単に取得できるようになりますCity
。
Address
との間の関係はCity
、すべて Address
に対して、City
が存在する必要があることを示しています。つまり、ユーザーがを入力するときは、次のアクションを実行する必要があります。1-データベースにがすでに存在するAddress
かどうかを確認します。2-が存在する場合は、それを取得し、新しいを格納するときに外部キー値として使用します。3-が存在しない場合は、の新しい一意を作成し、データベースに保存する必要があります。次に、forを格納するときに外部キー値として使用できます。すべてに関連付けられていることを確認するCity
Address
City
ID
City-ID
Address
City
ID
City
City
ID
City
City-ID
Address
Address
City
質問の一部として尋ねる質問の1つに答えます#3:最初のユーザーの結果を見つけるにはどうすればよいですか:「MyCity」キーを使用して「MyCity、MyStreet12」?「MyCity、MyStreet 12」Adress
レコードを保存したときに、「MyCity」レコードがCity
テーブルに存在することを確認したためです。別のユーザーが同じものを入力した場合、または同じものに関連付けられたものが将来ユーザーによって入力された場合、のID
の取得City
は簡単です。City
Address
City
City
との間の関係はAddress
、いずれの場合も、関連付けられたレコードCity
が0個以上ある可能性があることを示しています。これにより、フォローアップ検索が行われなくてもAddress
、aだけを検索する説明内のユーザーCity
が保存できるようになります。は保存され、があり、後で追加される可能性のある新しいレコードを待機しているだけです。City
Address
City
ID
Address
最後に、質問3の一部としてもう1つ質問しました。IDのみを使用して、完全な住所が都市に属しているかどうかを確認するにはどうすればよいですか。この質問に答えることができるCity-ID
のは、すべてのAddress
レコードの一部である外部キーがある理由です。City
に関連付けられているを明確に定義しますAddress
。したがって、foraとforaがある場合、それらが一致するかどうかを判断する最も簡単な方法は次のとおりです。1-ID
データベースからを使用してを取得します。2-データベースから取得したばかりの値の一部である値を、最初に使用した値と比較します。それらが一致する場合、あなたはに関連付けられていることを知っていますCity
ID
Address
Address
Address
ID
City-ID
Address
ID
City
Address
City
それらが一致しない場合は、それとそれの間に関係がないことを確認できAddress
ますCity
。
住所や都市で何を達成しようとしているのか完全にはわかりませんが、質問で説明したことをカバーする確実な解決策を提供しようとしました。私はあなたのすべてのポイントが扱われるように、そしてそれが私の説明を明確で理解しやすいものにすることを願って、非常に多くの詳細を含めました。これがお役に立てば幸いです-