Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 将鼠标单击和鼠标悬停事件附加到Bing映射图钉不起作用_Javascript_Bing Maps - Fatal编程技术网

Javascript 将鼠标单击和鼠标悬停事件附加到Bing映射图钉不起作用

Javascript 将鼠标单击和鼠标悬停事件附加到Bing映射图钉不起作用,javascript,bing-maps,Javascript,Bing Maps,我在地图上有多个图钉,每个图钉都有两个与之相关联的事件,鼠标单击,鼠标悬停。但是只有鼠标在上面,而不是点击。下面是我正在使用的代码 //Creating the pushpin var pin = new Microsoft.Maps.Pushpin(loc); pin.Description = "Some address"; Microsoft.Maps.Events.addHandler(pin, 'mouseover', function(e){ if

我在地图上有多个图钉,每个图钉都有两个与之相关联的事件,鼠标单击,鼠标悬停。但是只有鼠标在上面,而不是点击。下面是我正在使用的代码

//Creating the pushpin
var pin = new Microsoft.Maps.Pushpin(loc);
    pin.Description = "Some address";

    Microsoft.Maps.Events.addHandler(pin, 'mouseover', function(e){
         if (e.targetType == 'pushpin') {
         self.bingInfobox.setLocation(e.target.getLocation());
         self.bingInfobox.setOptions({
             visible: true, title: e.target.Title, description:  e.target.Description });
           }       
    });

    Microsoft.Maps.Events.addHandler(pin, 'click', function(e){
         if (e.targetType == 'pushpin') {

           // some functionality..
         }   
    });

请建议……

4年。。。可耻的是没有人回答

基本上,mouseover事件正在启动,并且您的信息框正在弹出。它可能会从别针上弹出来

因此,当您单击时,您单击的是信息框而不是pin本身,因此没有pin单击事件触发

根据地图上发生的情况,可以选择多种选项来解决问题:

当然,确保pin层z索引高于infobox层,那么infobox最终可能会部分隐藏在层中其他pin的后面

向“信息框”选项添加偏移以使其脱离接点

定制您的信息框,以便您可以控制它的外观和位置-确保点击者可以看到pin


我肯定还有其他选择。但是,最起码,重叠很可能是问题的根源。

self.bingInfobox是指Bing地图的内置信息框,还是您添加的自定义实现?是的,self.bingInfobox仅指内置信息框。。