-1
私はページロード時にクエリ文字列から場所を入力するところですが、google map apiを使用していますが、選択リストを開いて手動で選択します(画面:)。 他の関数は(場所の選択を手動後呼び出す)Googleの場所のplace_changedイベントをトリガする方法
geocoder = new google.maps.Geocoder();
cityac = new google.maps.places.Autocomplete((document.getElementById('message_city')), { types: ['geocode'], componentRestrictions: {country:"GB"} });
google.maps.event.addListener(cityac, 'place_changed', function() { city_select(); });
function city_select() {
var city = jQuery("#message_city").val();
var place = cityac.getPlace();
if ((place.address_components[1].short_name == 'London') || (jQuery('#message_city').val() == 'London, United Kingdom')) {
jQuery('#result_info').val('<br />London Not Covered ');
jQuery('#result').val('no');
} else {
geocoder.geocode({'address': city}, function (results, status) {
if (status == google.maps.GeocoderStatus.OK) {
var search = results[0].geometry.location;
var mindist = parseInt(10000);
var closest = 0;
var town = '';
for (var i = 0; i < locations.length; i++) {
var exp = locations[i].split('#');
var loc = new google.maps.LatLng(exp[1], exp[2])
var distance = calcDistance(loc, search);
var miles = parseInt((distance * 0.621371192).toFixed(2));
if (mindist > miles) {
mindist = miles;
closest = i;
nohour = exp[3];
town = exp[0];
radius = exp[5];
if (radius == '') {
radius = 30;
}
else {
radius = parseInt(radius);
}
}
}
if (mindist <= radius) {
jQuery('#result_info').val('Closest Location is ' + town + ' | ' + mindist + ' miles');
jQuery('#result_city').val(town);
jQuery('#result').val('yes');
if (nohour == '1') {
//alert('This location has a minimum 2 hour time');
jQuery("#serviceHrs option[value='1']").remove();
jQuery("#serviceHrs").parent().after("<div class='infomsg' style='color:#ff0099;margin-bottom: 0;'>This location has a minimum of 2 hours.</div>");
}
else if (nohour == '0') {
jQuery(".infomsg").remove();
if (jQuery("#serviceHrs option:contains('1')").length == 0) {
jQuery("#serviceHrs").prepend(new Option("1 Hour", "1"));
}
}
} else {
jQuery('#result_info').val('<br />Closest Location is ' + town + ' | ' + mindist + ' miles, outside the ' + radius + ' mile zone of any current.');
jQuery('#result').val('no');
}
}
})
}
}
を呼び出すことができるように、私はちょうど私がコードの下にしようとしています(クエリ文字列から)message_cityの値を設定した後pageloadにplace_changedイベントをトリガしたいが、それはありますうまく動作しません。
google.maps.event.trigger(cityac, 'place_changed');
はい、私は同じことをしようとしていますが、選択リスト(スクリーンショット:http://prnt.sc/exg338) – Vaishnavesh
を開いていますが、それを最初に選択する必要があります – Vaishnavesh