2013-11-26 6 views
5

Ich entwickle eine Anwendung, die Google Maps API v3 verwendet, um Marker und Infofenster anzuzeigen.Google Karte js api Version 3 infowindow Glitch

Nun, ich habe N Marker in einem Array gespeichert und ein globales Infowindow verwendet, um einige Informationen anzuzeigen.

/* global js stuff */ 
var g_map = new google.maps.Map(document.getElementById('map-canvas'), mapOptions); 
var g_current_popup = new google.maps.InfoWindow({ content: "" }); 
var g_markers = []; 

/* create marker function */ 
function addMarker(p_infowindow_contents) 
{ 
    var l_marker = new google.maps.Marker(all the stuff needed); 
    google.maps.event.addListener(l_marker, 'click', function() 
    { 
     g_current_popup.close(); // if already open, it must be closed and reloaded 
     g_current_popup.setContent(p_infowindow_contents); 
     g_current_popup.open(g_map, l_marker); 
    }); 
    g_markers.push(l_marker); 
} 

Alles funktioniert wie erwartet, mit Ausnahme einer kleinen grafischen Glitch:

Infowindow Inhalte werden durch Klicken auf einen Marker, erstellt auf diese Weise einfach gezeigt, wenn das Infofenster erscheint, wird, ich das Infofenster 'sehen Tipp 'für eine Zehntelsekunde an einem unbekannten Ort positioniert, dann verschwindet es und ich sehe das richtige Infowindow.

Blick auf diesem Screenshot nahm kurz vor der Spitze verschwindet:

look at the white triangle...

Hat jemand so etwas erlebt? Könnte es ein CSS-Problem sein?

Dank

Antwort

1

es so aussieht nicht ein Problem mit dem Code ist, halte ich es eher ein Browser-Problem. Ich war in der Lage, die gleiche Sache zu validieren am Infofenster Beispiel sucht, dass Google in Firefox bietet, aber nicht in Chrome:

https://developers.google.com/maps/documentation/javascript/examples/infowindow-simple

es scheint mehr sichtbar zu passieren, wenn die Karte zu scrollen hat die Infofenster zu passen, aber ich würde sagen, dass dies nicht erforderlich ist. Es ist wahrscheinlich nur ein Artefakt, bei dem der Bildschirm einige Taktzyklen benötigt, um das DOM nachzuholen.

+0

Sie haben Recht, ich habe das nie auf Samples beobachtet, aber ich sehe es sowohl auf Chrome ein Firefox (auf GNU/Linux OS). Ich denke, es kann ein Problem mit dem Webkit oder der Grafikkarte sein. Danke :) – Giancarlo

Verwandte Themen