gpt4 book ai didi

jquery - 谷歌地图上的 Control 键 + 点击事件

转载 作者:行者123 更新时间:2023-12-01 00:56:18 26 4
gpt4 key购买 nike

我想在谷歌地图上添加一个点击事件,根据纬度/经度获取地址。单击事件工作正常,但是当我添加检查按下 alt 键时,地理编码逻辑不再工作。

google.maps.event.addListener(map, 'click', function(event) {                                       

if (event.altKey) {

var geocoder= new google.maps.Geocoder();
var myLat = event.latLng.lat().toFixed(5);
var myLng = event.latLng.lng().toFixed(5);
var arrAddress = "";
var thisAddress = "Latitude :" + myLat + "<br/>" +
"Longitude: " + myLng + "<br/>";
var i;

geocoder.geocode({'latLng': event.latLng}, function(results, status){
if (status == google.maps.GeocoderStatus.OK) {
arrAddress = results[0]['address_components'];
$.each(arrAddress, function (i, address_component) {
if (address_component.types[0] == "route" ||
address_component.types[0] == "street_number" ||
address_component.types[0] == "locality" ||
address_component.types[0] == "postal_code" ||
address_component.types[0] == "administrative_area_level_1") {
thisAddress += address_component.types[0] +":" + address_component.long_name + "<br/>";
}
});
fnPlaceMarkers(event.latLng,thisAddress,"adhoc");
};
});
};
});
}

最佳答案

如果您查看 Google map 发送给我们的 onClick 事件,则不会发现 altKey 值。这就是为什么它总是返回 false 并跳过您的逻辑。

解决方法是使用 jquery 提供的 keydown 和 keyup 回调来存储按下的键。

keys = {};

$(document).keydown(function (event) {
keys[event.which] = true;
});

$(document).keyup(function (event) {
delete keys[event.which];
});

因此您可以根据 this site 检查 alt 键 的值是否为 18 ,被按下来代替 event.altKey

关于jquery - 谷歌地图上的 Control 键 + 点击事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29061900/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com