2016-06-22 10 views
0

選択した州に基づいて都市を取得するために、どのGoogle Maps APIサービスが理想的であるかを知っている人はいませんか。たとえば、ユーザーが選択入力からカリフォルニアを選択した場合。都市をオフに戻すGoogleマップapi

<select name="state"> 
    <option value="CA" selected>California</option> 
</select> 

私はカリフォルニアのすべての都市を返し、その後、選択入力にそれらの値を追加します作られている好ましくはAJAXリクエストをしたいと思います。

<select name="city"> 
    <option value="Los Angeles">Los Angeles</option> 
    // Other California cities 
</select> 

また、このタイプの機能には誰かが推奨するサービスがありますか?

答えて

0

残念ながら、州別のフィルタリングは、Google Maps APIでは不可能です。

地図書館

定義された領域内に含まれる(施設、地理的位置、または関心の著名なポイントとして、このAPIで定義された)場所を検索するようにアプリケーションを可能にするGoogleプレイスのJavaScriptライブラリの関数、マップの境界や固定小数点の周りなど)を指定します。

GoogleプレイスAPIには、Googleマップの検索フィールドの先行検索機能をアプリケーションに提供するためのオートコンプリート機能があります。ユーザーが住所の入力を開始すると、残りの部分にオートコンプリートが入力されます。詳細については、autocomplete documentationを参照してください。

Component Filtering

によると、また、特定の地域に限定したアドレス結果を返すためにジオコーディングサービスを設定することができます。 componentRestrictionsパラメーターを使用して制限を指定します。フィルタは、一つまたはそれ以上からなる:routelocalityadministrativeAreapostalCode又はcountry。すべてのフィルタに一致する結果のみが返されます。フィルタ値は、他のジオコーディング要求と同様のスペル修正と部分一致の方法をサポートします。

都市にオートコンプリートを制限する:

type

  • は、指定されたタイプに一致する場所に結果を制限します。指定できるタイプは1つだけです(複数のタイプが指定されている場合、最初の入力に続くすべてのタイプは無視されます)。 list of supported typesを参照してください。

タイプの制限

document.getElementById('autocomplete')), { 
     types: ['(cities)'], 
     componentRestrictions: countryRestrict 
     }); 

var map, places, infoWindow; 
var markers = []; 
var autocomplete; 
var countryRestrict = {'country': 'us'}; 

このsample

成分フィルタを試してみて、これがお役に立てば幸いです。 :)

+1

私はsba govのウェブサイトから私が欲しかったものを手に入れることができました。彼らはurlで渡す省略された状態パラメータに基づいて都市を返すapiを持っています。たとえば、次のようにすると、カリフォルニア州のすべての都市が返されます。データをxmlまたはjsonに返すかどうかを指定するには、状態省略コードの直後に提供される拡張機能を使用します。ターミナルから以下を試してください。 'curl http:// api.sba.gov/geodata/city_links_for_state_of/CA.json' –

関連する問題