Changement de taille de marqueur dans Google maps V3
Je suis en utilisant cette explication de comment la couleur d'une carte google maps marqueur par réglage de l'icône à l'aide d'un MarkerImage, et la coloration fonctionne bien. Mais je ne peux pas faire la scaledSize argument de modifier la taille du marqueur.
var pinColor = 'FFFF00';
var pinIcon = new google.maps.MarkerImage(
"http://chart.apis.google.com/chart?chst=d_map_pin_letter&chld=%E2%80%A2|" + pinColor,
new google.maps.Size(21, 34),
new google.maps.Point(0,0),
new google.maps.Point(10, 34),
new google.maps.Size(2, 4));
marker.setIcon(pinIcon);
Qu'est-ce que l'utilisation correcte de la scaledSize argument pour modifier la taille des marqueurs? Par exemple, comment puis-je double la taille des marqueurs?
Vous devez vous connecter pour publier un commentaire.
Cette réponse expose sur Jean Noir de réponse utile, alors je vais répéter un peu de sa réponse contenu dans ma réponse.
Le moyen le plus facile pour redimensionner un marqueur semble être de quitter l'argument 2, 3, et 4 nuls et de mise à l'échelle de la taille de l'argument 5.
En aparté, cette réponse à une question similaire, affirme que la définition d'un marqueur de taille dans le 2ème argument est mieux que la mise à l'échelle dans le 5ème argument. Je ne sais pas si c'est vrai.
Laissant arguments 2-4 null fonctionne très bien pour le code pin par défaut de google image, mais vous devez définir un point d'ancrage explicitement pour le code pin par défaut de google image de l'ombre, ou il ressemblera à ceci:
Bas au centre de la broche de l'image se trouve être jumelée avec la pointe de la broche lorsque vous affichez le graphique sur la carte. Ceci est important, parce que la position du marqueur de propriété (marqueur de l' LatLng position sur la carte) sera automatiquement regroupé avec le visuel de la pointe de la broche lorsque vous quittez l'ancre (4ème argument)
null
. En d'autres termes, en laissant le point d'ancrage null assure la pointe des points où il est censé point.Cependant, l'extrémité de l'ombre n'est pas situé en bas au centre. Donc, vous devez définir le 4ème argument explicitement pour compenser la pointe de la broche de l'ombre si l'ombre de la pointe va être colocalisé avec le code pin de l'image de pointe.
Par l'expérimentation, j'ai trouvé l'astuce de l'ombre devrait être définie comme ceci: x est de 1/3 de la taille et de y est de 100% de taille.
pour donner ceci:
google.maps.Size
, ou pour spécifier les pourcentages au lieu de pixels réels? Merci!setIcon
sur le marqueur?La taille arguments sont en pixels. Donc, pour doubler votre exemple de marquage de la taille de la cinquième argument de la MarkerImage constructeur:
Je trouve qu'il est plus facile de laisser la carte de l'API de comprendre les autres arguments, à moins que j'ai besoin de quelque chose d'autre que le bas/centre de l'image comme le point d'ancrage. Dans votre cas vous pouvez faire: