7

The documentation for the google.maps.Size function says:

Size(width:number, height:number, widthUnit?:string, heightUnit?:string)

The default for the widthUnit and heightUnit arguments seems to be pixels. The function works properly if it is called as new google.maps.Size(30,30,"px","px")

I would like to know what other unit types are supported.

4

1 回答 1

7

安德鲁是正确的。google.maps.Size也支持特定浏览器支持的所有CSS 长度单位。对于它的许多用途,这是因为您通过连接数字和单位获得的字符串通过将其设置为 CSS 宽度、高度等属性的值直接用于样式设置(在其他情况下,地图 API 会计算这些大小如果它想要(例如)使用绝对单位或绘制到画布上,就会在这种情况下)。

如果您想使用相对长度,请记住它们将相对于它们在级联中的位置进行解释。根据您要设置其大小的对象,最终结果可能不是您所期望的。由于 Maps API 将您的内容放置在它创建的 DOM 树中的多个位置,因此大小可能取决于无法保证在 API 版本之间保持稳定的实现细节。类似地,'%' 通常作为一个单位工作(即使它在技术上不是 CSS 长度类型),但它最终可能会定义你相对于你无法控制的 DOM 元素的大小。至少,仔细测试!

于 2012-06-25T04:09:07.533 回答