Как использовать place_changed событие placekicker из google api?
Я почти сделал, но я столкнулся с одной проблемой, вот моя проблема:-
I have successfully implement the placekicker with uk country only. Here is my code:-
Input location here:<input id="searchTextField" type="text" size="50">
<script src='https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js'></script>
<script src="https://maps.googleapis.com/maps/api/js?sensor=false&libraries=places"></script>
<script>
var pac_input = document.getElementById('searchTextField');
$(function() {
var options = {
componentRestrictions: {
country: 'uk' //PUT YOUR COUNTRY CODE HERE!!
}
};
var autocomplete = new google.maps.places.Autocomplete(pac_input, options);
});
Когда я запускаю приведенный выше код, он отображает только результат Великобритании, т. Е. Это правильно, но когда я добавляю некоторые дополнительные функции в приведенный выше код, тогда он отображает запись целых стран. Добавленный код здесь:-
<script type="text/javascript">
google.maps.event.addDomListener(window, 'load', function () {
var places = new google.maps.places.Autocomplete(document.getElementById('searchTextField'));
google.maps.event.addListener(places, 'place_changed', function () {
var place = places.getPlace();
var address = place.formatted_address;
var latitude = place.geometry.location.lat();
var longitude = place.geometry.location.lng();
var mesg = "Address: " + address;
mesg += "\nLatitude: " + latitude;
mesg += "\nLongitude: " + longitude;
alert(mesg);
});
});
</script>
Когда я добавляю этот код, он дает широту и долготу каждого места, которое я выбрал из указателя метки, теперь проблема в том, что он даст данные всей страны, но когда я удаляю этот код, он дает мне результат Великобритании. Помогите мне, пожалуйста. Что я делаю не так. Заранее спасибо:)
1 ответ
Решение
Попробуйте передать параметры в функцию автозаполнения
var options = {
componentRestrictions: {
country: 'uk' //PUT YOUR COUNTRY CODE HERE!!
}
};
google.maps.event.addDomListener(window, 'load', function () {
var places = new google.maps.places.Autocomplete(document.getElementById('searchTextField'), options ); //// options added
google.maps.event.addListener(places, 'place_changed', function () {
var place = places.getPlace();
var address = place.formatted_address;
var latitude = place.geometry.location.lat();
var longitude = place.geometry.location.lng();
var mesg = "Address: " + address;
mesg += "\nLatitude: " + latitude;
mesg += "\nLongitude: " + longitude;
alert(mesg);
});
});