While i am using for canada geocoder.geocode response in french while I need the response in english.
var geocoder = new google.maps.Geocoder();
geocoder.geocode({ 'address': "G1B0A3, Canada" }, function (results, status) {
if (status == google.maps.GeocoderStatus.OK) {
if (results.length >= 1) {
for (var ii = 0; ii < results[0].address_components.length; ii++) {
var types = results[0].address_components[ii].types.join(",");
if (types.includes("locality")) {
$("#City").val(results[0].address_components[ii].long_name);
city = results[0].address_components[ii].long_name;
}
if (types == "administrative_area_level_1,political") {
$(".StateClass option").each(function () {
if ($(this).text().toUpperCase() == results[0].address_components[ii].long_name.toUpperCase()) {
if (typeof (state) != "undefined") {
state = $(this).val();
$(".StateClass").val($(this).val());
}
else {
$(this).attr('selected', true);
state = $(this).val();
$(".StateClass").val(state);
}
}
});
}
}
}
}
}
This behavior is pretty clearly spelled out in the Geocoding API docs:
language
— The language in which to return results.
- See the list of supported languages. Google often updates the supported languages, so this list may not be exhaustive.
- If
language
is not supplied, the geocoder attempts to use the preferred language as specified in theAccept-Language
header, or the native language of the domain from which the request is sent.
[...]
As such, add the language
option to your initial call to geocoder.geocode
, specifying English (en
) as the language "in which to return results":
geocoder.geocode({ 'address': "G1B0A3, Canada", 'language': 'en' }, function (results, status) {