谷歌地图信息框位于标记旁边,而不是标记上方
Google Maps infobox position next to marker not over the marker
我想知道如何定位谷歌标记的信息框,而不是在大头针上,而是类似于这个网站的东西。这里,当您将鼠标悬停在标记组上时,信息框会显示在同一点,因此不会触发mouseout事件,因为鼠标仍在标记组上方。
我想知道我如何才能在昨天的帖子中取得类似的成绩。最后,有没有什么样式代码可以应用,这样我就可以在标记上显示信息框?
默认情况下,它在右侧设置为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();
}
}
您可以使用InfoBox
的alignBottom
和pixelOffset
属性来实现您想要的。我创建了一个小提琴,无可否认它看起来很糟糕,但我认为它可以让您在实现方面走上正轨。工作后,您可以根据自己的喜好进行打磨:)FIDDLE
基本上,您可以指定以下选项:
var ibOptions = {
content: 'your content',
pixelOffset: new google.maps.Size(-5, -15),
alignBottom: true
};
您可以根据自己的喜好调整pixelOffset,以便内容显示在标记上,并且不会触发mouseout。
然后执行此操作以绑定到mouseover事件(您可能已经知道):
google.maps.event.addListener(marker, "mouseover", function (e) {
ib.open(map, this);
});
相关文章:
- 谷歌地图-数据库中的标记只显示最后一行的信息
- 如何隐藏标记簇内标记的信息窗口
- 谷歌地图信息窗口为每个标记显示相同的内容
- 地图标记信息不显示
- 为位于路线上的谷歌地图标记(起点和终点)设置一个信息窗口
- 如何在显示多个标记时单击另一个标记时关闭信息窗口
- 禁用角度地图中标记和信息窗口的ng点击
- 在 AngularJS 中显示信息的标记存在问题
- 专注于锚标记
- 添加标记和点击功能以显示信息窗口
- 谷歌地图:将带有信息框的多个标记添加到自定义地图
- 将动态CSS样式应用于谷歌地图的标记
- 标记上的信息窗口没有't关闭(谷歌地图)
- 谷歌从数组中映射标记、折线和窗口信息
- 谷歌地图偏移标记/信息窗口位置(panTo/setCenter)
- 如何获取从jQuery click()函数调用的特定于标记的自定义Javascript函数
- 隐藏信息窗口标记并动态显示
- 谷歌地图,显示mysql信息在标记信息窗口
- 如何显示某些名称在谷歌地图信息窗口标记
- 谷歌地图API V3 -信息窗口@标记2个地图