Javascript 谷歌地图信息框位置在标记旁边,而不是标记上方

Javascript 谷歌地图信息框位置在标记旁边,而不是标记上方,javascript,google-maps,google-maps-api-3,google-maps-markers,markerclusterer,Javascript,Google Maps,Google Maps Api 3,Google Maps Markers,Markerclusterer,我昨天没有得到足够的关注,但在做了更多的研究之后,我想知道我如何定位谷歌标记的信息框,而不是在pin上,而是类似的,当你在标记组上悬停时,信息框显示在同一点上,因此不会触发mouseout事件,因为鼠标仍然在移动在一组标记上。我想知道我如何才能取得类似于我昨天所做的工作。 那么,为了结束这篇文章,我是否可以应用任何样式代码来显示标记上方的信息框? 非常感谢您的每一个建议。 谢谢,Laziale您可以使用InfoBox的alignBottom和pixelOffset属性来实现您想要的功能。我创建了

我昨天没有得到足够的关注,但在做了更多的研究之后,我想知道我如何定位谷歌标记的信息框,而不是在pin上,而是类似的,当你在标记组上悬停时,信息框显示在同一点上,因此不会触发mouseout事件,因为鼠标仍然在移动在一组标记上。我想知道我如何才能取得类似于我昨天所做的工作。 那么,为了结束这篇文章,我是否可以应用任何样式代码来显示标记上方的信息框? 非常感谢您的每一个建议。
谢谢,Laziale

您可以使用
InfoBox
alignBottom
pixelOffset
属性来实现您想要的功能。我创建了一个小提琴,虽然它看起来很糟糕,但我认为它可以让您在实现方面走上正确的轨道。工作后,您可以根据自己的喜好对其进行抛光:)

基本上,您可以指定如下选项:

var ibOptions = {
    content: 'your content',
    pixelOffset: new google.maps.Size(-5, -15),
    alignBottom: true
};
您可以根据自己的喜好调整pixelOffset,以便内容显示在标记上,并且不会触发鼠标移出

然后执行此操作以绑定到mouseover事件(您可能已经知道):


默认情况下,它在右侧设置为140px,因此分别设置x和y的值,该框每次都会出现在那里

您可以自行安排偏移值

请尝试此代码

 var infowindows = []; //make it global
 var popup = new InfoBox({
      // size: new google.maps.Size(420,130),
        content:content_info
       ,pixelOffset: new google.maps.Size(10, -100) //these are the offset values to be adjusted accordingly..
       ,disableAutoPan: false
       ,closeBoxMargin: "5px 5px 2px 2px"
       ,boxStyle: {opacity: 0.95
              }

    });

infowindows.push(popup);
 google.maps.event.addListener(marker, 'mouseover', function() {
        close_popups();
        map.panTo(mycenter1);
        popup.open(map, marker);


        // currentPopup = null;
      });

function close_popups(){
      for(var i = 0; i<infowindows.length; i++){
        infowindows[i].close();
      }
    }
var infowindows=[]//让它全球化
var popup=新信息框({
//尺寸:新谷歌地图尺寸(420130),
内容:内容信息
,pixelOffset:new google.maps.Size(10,-100)//这些是要相应调整的偏移值。。
,disableAutoPan:false
,closeBoxMargin:“5px 5px 2px 2px”
,boxStyle:{不透明度:0.95
}
});
infowindows.push(弹出窗口);
google.maps.event.addListener(标记'mouseover',函数(){
关闭弹出窗口();
panTo地图(迈森特1);
弹出。打开(地图、标记);
//currentPopup=null;
});
函数关闭\u弹出窗口(){

对于(var i=0;ithx),我正在检查您的示例,但是当我将鼠标悬停在信息框上时,信息框将消失,请检查这个包含mouseout函数的更新示例。
 var infowindows = []; //make it global
 var popup = new InfoBox({
      // size: new google.maps.Size(420,130),
        content:content_info
       ,pixelOffset: new google.maps.Size(10, -100) //these are the offset values to be adjusted accordingly..
       ,disableAutoPan: false
       ,closeBoxMargin: "5px 5px 2px 2px"
       ,boxStyle: {opacity: 0.95
              }

    });

infowindows.push(popup);
 google.maps.event.addListener(marker, 'mouseover', function() {
        close_popups();
        map.panTo(mycenter1);
        popup.open(map, marker);


        // currentPopup = null;
      });

function close_popups(){
      for(var i = 0; i<infowindows.length; i++){
        infowindows[i].close();
      }
    }