2017-08-24 1 views
2

J'ai une carte de dépliant que je redimensionne en plein écran lorsque l'utilisateur clique sur l'icône fournie et la compresse à la taille d'origine en un deuxième clic. J'utilise la méthode invalidateSize() après le redimensionnement mais j'ai remarqué que le marqueur que j'ai sur la carte perd sa position.Le marqueur de dépliant perd sa position après invalidateSize

enter image description here


La question était que je mettais position du marqueur sur clic et je pense en cliquant sur le bouton Redimensionner CAUSÉS marqueur coordonnées à régler à une mauvaise position. Donc, la brochure fonctionne bien. Je l'ai réparé en utilisant event.stopPropagation() sur l'icône d'agrandissement au lieu de seulement event.preventDefault().

Répondre

0

set essayer timeOut sur cette validation

setTimeout(function(){map.invalidateSize()},500) 
+0

Aucun succès. J'ai essayé 250ms, 500ms et 1000ms. L'épingle vient de finir dans un autre endroit. –

+0

essayer de supprimer le marqueur, et redessiner à nouveau après invalidateSize, au moins laissez-moi savoir le code – KEKUATAN

+0

Je pourrais le faire, mais dans le cas où il y a plus de marqueurs, il semble que très mauvaise approche. Je préfère la solution appropriée au lieu de quickfix :) –