javascript - 如何将 Google map 信息框居中

标签 javascript google-maps google-maps-api-3

按照 documentation 中的示例,他们使用 PixelOffset 将 InfoBox 居中:

"The pixelOffset is set to (-140, 0) so that the InfoBox is centered appropriately."

pixelOffset: new google.maps.Size(-140, 0)

问题是,我的 InfoBox 总是通过 setContent() 更改内容,因此总是更改宽度。

我应该如何将 InfoBox 置于标记上方?

最佳答案

boxStyle 宽度为 280 像素。

boxStyle: { 
          background: "url('tipbox.gif') no-repeat"
          ,opacity: 0.75
          ,width: "280px"
         }

140px 是其中的一半。如果 InfoBox 的大小是动态的,您必须在某个地方渲染它(它将继承正确的 CSS),等待它渲染,检索大小,然后将 PixelOffset 设置为其宽度的一半。

关于javascript - 如何将 Google map 信息框居中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44038275/

相关文章:

javascript - 使用 Google Maps API v3 中的 Sprite 标记图标缩放标记大小

javascript - 从 Google Places 搜索框获取纬度和经度

javascript - "Possibly unhandled rejection: ZERO_RESULTS" Angular 1.6.6 ng-map Geocode ui-bootstrap

javascript - 谷歌地图通过单击多个标记来放大标记

javascript - 如何延迟 toggleClass 事件以防止垃圾邮件更改?

javascript - 在 Sharepoint 2013 中使用 REST 更新托管元数据值

javascript - 将文本链接到包含 iframe 的对话框

javascript - 使用变量/参数作为数组标识符

android - 如何在多台计算机上使用 google maps API 开发 Android 应用程序?

google-maps - 谷歌地图API绘制行驶路线,如果失败则绘制直线