J'ai trouvé une solution simple pour le chargement partiel de google map. Habituellement, cela est causé par le onLoad()
est appelé à des moments où le reste de la page (y compris votre élément de carte) n'est pas complètement chargé. Cela entraîne un chargement partiel de la carte. Un moyen simple de contourner ce problème consiste à modifier votre élément onLoad
action de la balise body.
L'ancienne méthode :
onload="initialize()"
La nouvelle voie :
onLoad="setTimeout('initialize()', 2000);"
Cela permet d'attendre 2 secondes avant que le Javascript de Google n'accède aux attributs de taille corrects. Veillez également à vider le cache de votre navigateur avant de l'essayer ; il arrive qu'il y reste bloqué :)
Au cas où vous vous poseriez la question, il s'agit de ma partie supérieure en Javascript (exactement comme décrit dans la documentation de Google, mais parce que j'appelle la fonction Latitude
et Longitude
à partir de variables PHP, d'où les extraits PHP.
<script type="text/javascript" src="http://maps.googleapis.com/maps/api/js?sensor=false"></script>
<script type="text/javascript">
function initialize() {
var myOptions = {
center: new google.maps.LatLng(<?php echo $my_latitude; ?> , <?php echo $my_longitude; ?>),
zoom: 14,
mapTypeId: google.maps.MapTypeId.ROADMAP
};
var map = new google.maps.Map(document.getElementById("map_canvas"),
myOptions);
var point = new google.maps.LatLng(<?php echo $my_latitude; ?> , <?php echo $my_longitude; ?>);
var marker = new google.maps.Marker({ position:point, map:map })
}
</script>
1 votes
Alors, que faites-vous exactement pour provoquer ce comportement ?
0 votes
Il n'est pas constant, il ne se produit qu'à certains moments. J'utilise la version 2 de l'API de Google Maps.
0 votes
Comme suggéré dans ce commentaire En mettant une taille en pixel au conteneur de la carte, cela devrait résoudre le problème. C'est le cas pour moi
0 votes
A propos de cette solution : <code>#map_canvas img { max-width : none !important ; }</code> qui a été donné précédemment par un de nos collègues fonctionne et résout les problèmes délicats d'impression de Dynamic Google Maps sur chrome et Firefox. Bien sûr, j'ai encore un problème avec les marqueurs (qui sont partiellement visibles) sur Firefox. Quoi qu'il en soit, une explication autour de cette solution, et pourquoi les navigateurs se comportent de cette manière particulière serait nécessaire. Si quelqu'un le sait, n'hésitez pas à écrire.
0 votes
J'ai remarqué que l'erreur ne se produisait que dans IE. Heureusement, je peux faire en sorte que les utilisateurs passent à Chrome.