2012-06-24 10 views
5

La documentación de la función google.maps.Size dice:¿Qué unidades están permitidas en google.maps.Size?

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

El valor por defecto para los argumentos widthUnit y heightUnit parece ser píxeles. La función funciona correctamente si se llama como nueva google.maps.Size (30,30, "px", "px")

Me gustaría saber qué otros tipos de unidades son compatibles.

+2

¿Qué ocurre si pruebas otras unidades? Supongo que cualquier cosa permitida por CSS funcionará. –

Respuesta

6

Andrew es correcto. Todos los CSS length units compatibles con un navegador en particular también son compatibles con google.maps.Size. Para muchos de sus usos, esto se debe a que la cadena que obtiene al concatenar el número y la unidad se usa directamente en el estilo, configurándolo como el valor de las propiedades de ancho, alto, etc. de CSS (en otros casos, la API de Maps calcula los tamaños estaría en ese contexto si quiere (por ejemplo) usar unidades absolutas o dibujar en un lienzo).

Si desea utilizar longitudes relativas, recuerde que se interpretarán en relación con su lugar en la cascada. Dependiendo del objeto cuyo tamaño esté configurando, el resultado final puede no ser el esperado. Dado que Maps API coloca su contenido en una variedad de lugares en el árbol DOM que crea, el tamaño puede depender de los detalles de implementación que no se garantiza que se mantengan estables entre las versiones de la API. Del mismo modo, '%' a menudo funciona como una unidad (aunque técnicamente no es un tipo de longitud CSS), pero puede terminar definiendo tu tamaño relativo a un elemento DOM sobre el que no tienes control. ¡Por lo menos, prueba cuidadosamente!

+0

Gracias Brendan y Andrew - Después de absorber la explicación de Brendans, he decidido utilizar un método de fuerza más bruta, menos sutil, pero evidentemente más fiable y predecible. – RoyHB

Cuestiones relacionadas