Google maps 捕获google地图事件忽略地图上绘制的任何形状

Google maps 捕获google地图事件忽略地图上绘制的任何形状,google-maps,google-maps-api-3,Google Maps,Google Maps Api 3,我显示地图(使用Google Maps API)并使用mousemove检索鼠标光标的地理坐标。它工作正常,但任何形状都会“屏蔽”贴图,即当光标位于形状上时,不再触发贴图事件: #地图{ 身高:90%; } html, 身体{ 身高:100%; } var-map0=null; var defPosLat=40.79; var deffoslng=-73.95; 函数initMap(){ map0=new google.maps.Map(document.getElementById('Ma

我显示地图(使用Google Maps API)并使用
mousemove
检索鼠标光标的地理坐标。它工作正常,但任何形状都会“屏蔽”贴图,即当光标位于形状上时,不再触发贴图事件:


#地图{
身高:90%;
}
html,
身体{
身高:100%;
}
var-map0=null;
var defPosLat=40.79;
var deffoslng=-73.95;
函数initMap(){
map0=new google.maps.Map(document.getElementById('Map'){
中心:{
lat:deffoslat,
液化天然气:拆卸液化天然气
},
缩放:11
});
map0.addListener('mousemove',函数(事件){
document.getElementById(“test”).value=event.latLng.lat().toFixed(5)+''+event.latLng.lng().toFixed(5);
});
var pCircle=new google.maps.Circle({
地图:map0,
中心:{
lat:deffoslat,
液化天然气:拆卸液化天然气
},
半径:10000
});
}

可点击:false
添加到您的
圆圈中


#地图{
身高:90%;
}
html,
身体{
身高:100%;
}
var-map0=null;
var defPosLat=40.79;
var deffoslng=-73.95;
函数initMap(){
map0=new google.maps.Map(document.getElementById('Map'){
中心:{
lat:deffoslat,
液化天然气:拆卸液化天然气
},
缩放:11
});
map0.addListener('mousemove',函数(事件){
document.getElementById(“test”).value=event.latLng.lat().toFixed(5)+''+event.latLng.lng().toFixed(5);
});
var pCircle=new google.maps.Circle({
地图:map0,
中心:{
lat:deffoslat,
液化天然气:拆卸液化天然气
},
可点击:false,
半径:10000
});
}

可点击:false
添加到您的
圆圈中


#地图{
身高:90%;
}
html,
身体{
身高:100%;
}
var-map0=null;
var defPosLat=40.79;
var deffoslng=-73.95;
函数initMap(){
map0=new google.maps.Map(document.getElementById('Map'){
中心:{
lat:deffoslat,
液化天然气:拆卸液化天然气
},
缩放:11
});
map0.addListener('mousemove',函数(事件){
document.getElementById(“test”).value=event.latLng.lat().toFixed(5)+''+event.latLng.lng().toFixed(5);
});
var pCircle=new google.maps.Circle({
地图:map0,
中心:{
lat:deffoslat,
液化天然气:拆卸液化天然气
},
可点击:false,
半径:10000
});
}

除非您需要圆圈可点击,否则请在圆圈选项中设置
可点击:false
。这将允许鼠标事件传播到下部窗格

另一个选择显然是将同一事件附加到你的圈中。见下文


#地图{
高度:150像素;
}
html,
身体{
身高:100%;
}
var-map0=null;
var defPosLat=40.79;
var deffoslng=-73.95;
函数initMap(){
map0=new google.maps.Map(document.getElementById('Map'){
中心:{
lat:deffoslat,
液化天然气:拆卸液化天然气
},
缩放:11
});
setMouseMove(map0);
var pCircle=new google.maps.Circle({
地图:map0,
中心:{
lat:deffoslat,
液化天然气:拆卸液化天然气
},
半径:10000
});
setMouseMove(pCircle);
}
函数setMouseMove(ob){
if(ob instanceof google.maps.Map | | ob instanceof google.maps.Circle){
ob.addListener('mousemove',函数(事件){
document.getElementById(“test”).value=event.latLng.lat().toFixed(5)+''+event.latLng.lng().toFixed(5);
});
}
}

除非您需要圆圈可点击,否则请在圆圈选项中设置
可点击:false
。这将允许鼠标事件传播到下部窗格

另一个选择显然是将同一事件附加到你的圈中。见下文


#地图{
高度:150像素;
}
html,
身体{
身高:100%;
}
var-map0=null;
var defPosLat=40.79;
var deffoslng=-73.95;
函数initMap(){
map0=new google.maps.Map(document.getElementById('Map'){
中心:{
lat:deffoslat,
液化天然气:拆卸液化天然气
},
缩放:11
});
setMouseMove(map0);
var pCircle=new google.maps.Circle({
地图:map0,
中心:{
lat:deffoslat,
液化天然气:拆卸液化天然气
},
半径:10000
});
setMouseMove(pCircle);
}
函数setMouseMove(ob){
if(ob instanceof google.maps.Map | | ob instanceof google.maps.Circle){
ob.addListener('mousemove',函数(事件){
document.getElementById(“test”).value=event.latLng.lat().toFixed(5)+''+event.latLng.lng().toFixed(5);
});
}
}

谢谢@MrUpsidown!不幸的是,我需要的形状是可点击的。向每个形状添加事件侦听器是一个可能的选项,但理想情况下我希望避免这种情况(因为我将有多个形状,其中一些是动态创建的)。添加了另一个工作选项,即从圆到贴图触发事件。您仍然需要一个事件侦听器。我不明白为什么将事件侦听器附加到所有形状(?)会是一个问题。谢谢@MrUpsidown!不幸的是,我需要的形状是可点击的。向每个形状添加事件侦听器是一个可能的选项,但理想情况下我希望避免这种情况(因为我将有多个形状,其中一些是动态创建的)。添加了另一个工作选项,即从圆到贴图触发事件。