2012-06-24 13 views
5

La documentazione per la funzione google.maps.Size dice:Quali unità sono consentite in google.maps.Size?

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

Il valore predefinito per gli argomenti widthUnit e heightUnit sembra essere pixel. La funzione funziona correttamente se è chiamata come nuovo google.maps.Size (30,30, "px", "px")

Vorrei sapere quali altri tipi di unità sono supportati.

+2

Cosa succede se provi altre unità? Immagino che tutto ciò che è permesso dai CSS funzionerà. –

risposta

6

Andrew è corretto. Tutti gli CSS length units supportati da un determinato browser sono supportati anche da google.maps.Size. Per molti dei suoi usi, questo perché la stringa ottenuta concatenando il numero e l'unità viene utilizzata direttamente nello stile impostandola come valore sulle proprietà CSS width, height, etc (in altri casi, l'API di Maps calcola quali di queste dimensioni sarebbe in quel contesto se vuole (per esempio) usare unità assolute o disegnare su una tela).

Se si desidera utilizzare le lunghezze relative, ricordare che verranno interpretate in relazione alla loro posizione nella cascata. A seconda dell'oggetto di cui stai impostando le dimensioni, il risultato finale potrebbe non essere quello che ti aspetti. Poiché l'API di Maps posiziona i tuoi contenuti in una varietà di luoghi nell'albero DOM che crea, la dimensione potrebbe dipendere dai dettagli di implementazione che non sono garantiti per rimanere stabili tra le versioni dell'API. Allo stesso modo, '%' spesso funziona come una unità (anche se tecnicamente non è un tipo di lunghezza CSS), ma potrebbe finire per definire la tua dimensione relativa a un elemento DOM su cui non hai alcun controllo. Per lo meno, prova attentamente!

+0

Grazie Brendan e Andrew - Dopo aver assorbito la spiegazione Brendans ho deciso di usare un metodo più bruto, meno sottile, ma evidentemente più prevedibile e affidabile. – RoyHB

Problemi correlati