2016-03-22 8 views
2

私は次のとおりですthis Googleの場所オートコンプリートadressformの例。Google自動補完フォームの言語を英語に設定するにはどうすればよいですか?

「ローマ、イタリア」を挿入すると、都市「ローマ」と国「イタリア」(言語はイタリア語)にフォームが返されるという問題があります。私はイタリアの名前が欲しくない、私は英語の名前が欲しい。同じ例では、「ローマ、イタリア」または「ローマ、イタリア」を挿入すると、都市「ローマ」と国「イタリア」でフォームが返されます。

フォームの言語を英語でのみ設定するにはどうすればよいですか?

ここ

javascriptの一部:

var placeSearch, autocomplete; 
var componentForm = { 
    street_number: 'short_name', 
    route: 'long_name', 
    locality: 'long_name', 
    administrative_area_level_1: 'short_name', 
    country: 'long_name', 
    postal_code: 'short_name' 
}; 

function initAutocomplete() { 
    // Create the autocomplete object, restricting the search to geographical 
    // location types. 
    autocomplete = new google.maps.places.Autocomplete(
     /** @type {!HTMLInputElement} */(document.getElementById('autocomplete')), 
     {types: ['geocode']}); 

    // When the user selects an address from the dropdown, populate the address 
    // fields in the form. 
    autocomplete.addListener('place_changed', fillInAddress); 
} 

function fillInAddress() { 
    // Get the place details from the autocomplete object. 
    var place = autocomplete.getPlace(); 

    for (var component in componentForm) { 
    document.getElementById(component).value = ''; 
    document.getElementById(component).disabled = false; 
    } 

    // Get each component of the address from the place details 
    // and fill the corresponding field on the form. 
    for (var i = 0; i < place.address_components.length; i++) { 
    var addressType = place.address_components[i].types[0]; 
    if (componentForm[addressType]) { 
     var val = place.address_components[i][componentForm[addressType]]; 
     document.getElementById(addressType).value = val; 
    } 
    } 
} 

// Bias the autocomplete object to the user's geographical location, 
// as supplied by the browser's 'navigator.geolocation' object. 
function geolocate() { 
    if (navigator.geolocation) { 
    navigator.geolocation.getCurrentPosition(function(position) { 
     var geolocation = { 
     lat: position.coords.latitude, 
     lng: position.coords.longitude 
     }; 
     var circle = new google.maps.Circle({ 
     center: geolocation, 
     radius: position.coords.accuracy 
     }); 
     autocomplete.setBounds(circle.getBounds()); 
    }); 
    } 
} 

そして、ここで重要とAPI:事前

+1

APIキーを公開することはお勧めできません。私はそれを削除します。 –

+0

@JoachimRohdeしかし、私はウェブサイトをアップロードするときに鍵は公開されるかどうか? – Radames

答えて

4

<script src="https://maps.googleapis.com/maps/api/js?key=[API key]&libraries=places&callback=initAutocomplete" async defer></script> 

ありがとうございますが、スクリプトタグに&language=[language here]を追加することで、言語を変更することができます。英語の場合、それは次のようになります。&language=en

例:これはhereに説明されており、実施例hereがある

<script src="https://maps.googleapis.com/maps/api/js?key=YOUR_API_KEY&language=en" 
type="text/javascript"> 
</script> 

+0

ありがとう@Dexter !!! – Radames

関連する問題