我正在使用InfoBox插件,我有以下代码:
Gmaps.map.infobox = function(boxText) {
return {
content: boxText
,disableAutoPan: false
,maxWidth: 0
,pixelOffset: new google.maps.Size(-140, 0)
,zIndex: null
,boxStyle: {
background: "url('http://google-maps-utility-library-v3.googlecode.com/svn/tags/infobox/1.1.5/examples/tipbox.gif') no-repeat"
,opacity: 0.75
,width: "280px"
}
,closeBoxMargin: "10px 2px 2px 2px"
,closeBoxURL: "http://www.google.com/intl/en_us/mapfiles/close.gif"
,infoBoxClearance: new google.maps.Size(1, 1)
,isHidden: false
,pane: "floatPane"
,enableEventPropagation: false
}};
使用尺寸为77x80像素的标记,当显示InfoWindow时,它会在标记的底部正确对齐,如下所示:
但是,如果我将标记的大小更改为35x44像素,则InfoWindow不会完全对齐标记的底部,如下所示:
有关如何在底部完全对齐的任何想法?
编辑:对于小标记,我通过在我使用的库中设置它来创建它们(gmaps4rails):
marker.picture({
:picture => "assets/juice-pin-small.png",
:width => 35,
:height => 44,
})
对于大标记,我通过设置它来创建它们:
marker.picture({
:picture => "assets/juice-pin-small.png",
:width => 70,
:height => 88,
:marker_anchor => [23,78]
})
答案 0 :(得分:0)
我所知道的绝对不是最佳解决方案,因为如果您使用两种尺寸的标记,则需要两组选项。
无论如何,可以使用pixelOffset: new google.maps.Size(-140, 0);
更改信息框的位置,在您的情况下,向左移动框,使第一个数字更负(例如,-145)。
想到别的东西:编辑标记本身并将其移动几个像素。