ジオコーディングで Google Places API を使用しています。アドレス コンポーネント タイプに問題があります。
ユーザーがこの形式でオートコンプリートに入力した住所に関する情報を取得したい:
番地/番地/市/州/国。
ユーザーが「Street 12, SomeCity, SomeProvince, SomeCountry」をオートコンプリートした場合、このすべての情報をアラートで返したいと思います。しかし、ユーザーが「someProvince、SomeCountry」のみを入力すると、州と国の住所タイプのみが必要になります。
これが私のコードです:
google.maps.event.addListener(autocomplete, 'place_changed', function () {
var place = autocomplete.getPlace();
alert('0: ' + place.address_components[0].long_name);
alert('1: ' + place.address_components[1].long_name);
alert('2: ' + place.address_components[2].long_name);
alert('3: ' + place.address_components[3].long_name);
alert('4: ' + place.address_components[4].long_name);
alert('5: ' + place.address_components[5].long_name);
alert('6: ' + place.address_components[6].long_name);
alert('7: ' + place.address_components[7].long_name);
)};
問題は、ユーザーが完全な住所をオートコンプリートすると、このアラートがすべて正しく表示されることです。しかし、情報の一部のみ (国のみ) をオートコンプリートすると、入力された国が 7 回表示されます。
http://gmaps-samples-v3.googlecode.com/svn/trunk/places/autocomplete-addressform.html
通りと都市が指定されていない場合、アラートが表示されるようにしたい(「通りはnull」など)。どうやってするの?