0

我正在使用 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]
                     })
4

1 回答 1

0

我所知道的绝对不是最好的解决方案,因为如果您要使用两种尺寸的标记,则需要两组选项。

无论如何,信息框的位置可以更改为pixelOffset: new google.maps.Size(-140, 0);,在您的情况下,将框向左移动,使第一个数字更负(如-145)。

想到别的东西:编辑标记本身并将其移动几个像素。

于 2012-05-07T01:29:12.447 回答