在用户点击时,当用户使用Google Maps API输入位置时,我试图从“ .pac-item”类中提取值。
我已阅读以下内容
https://developers.google.com/maps/documentation/javascript/places-autocomplete。
由于.pac-container
类是动态生成的,因此我尝试使用事件处理程序来监听.pac-container
类,但无法获得用户单击console.log或单击的名称或位置。事件日志什么。
$(document).on("click", ".pac-container", function(event) {
var selected = $(this).val().trim();
console.log(event);
console.log("selected: " + selected);
});
I've also tried
$(document).on("click", ".pac-item", function(event) {
var selected = $(this).val().trim();
console.log(event);
console.log("selected: " + selected);
});
我希望用户点击,无论点击任何地方的值。例如,如果用户键入portland和.pac-container
项目列表:
波特兰,或者我们 波特兰国际机场站 波特兰国际机场
如果用户单击波特兰,或者,我们希望将该字符串保存到所选变量中。
现在,console.log不会有任何事件,console.log也没有事件。
答案 0 :(得分:0)
好的,找到解决方案。
在Google地图代码的这一部分:
searchBox.addListener('places_changed', function () {
var places = searchBox.getPlaces();
googleLng = searchBox.bounds.ga.j;
//give the lng some precision, as the open weather map api doesn't like
floating point numbers too long
googleLng = googleLng.toPrecision(5);
googleLat = searchBox.bounds.ma.j;
//give the lat some precision, as the open weather map api doesn't like
floating point numbers too long
googleLat = googleLat.toPrecision(5);
console.log(googleLng);
console.log(googleLat);
clicktoCoord(googleLat, googleLng);
if (places.length == 0) {
return;
}
// Clear out the old markers.
markers.forEach(function (marker) {
marker.setMap(null);
});
console.log(searchBox)返回一个对象,该对象包含“ .pac-item”列表上我需要的数据(纬度和经度)。有了纬度和经度,我就可以将其放入一个开放的天气地图ajax api调用中,并且可以在用户单击的任何“ pac-item”列表上获取天气情况。
希望这对某人有帮助。