2013-08-22 22 views
8

używam tego kodu, aby utworzyć znacznik i infowindow który pokazuje się po kliknięciu na znacznik:InfoWindow nie pokazując w Google Map

// latLng and map are created earlier in code 
var marker = new google.maps.Marker({ 
     position: latLng, 
     map: map 
    }); 

// contentString is just a string with content also created earlier 
google.maps.event.addListener(marker, 'click', function(){ 
     infowindow.setContent(contentString); 
     infowindow.open(map, marker); 
    }); 

Ten kod produkuje wszystko dobre, z wyjątkiem jednej rzeczy, to nie pokazuje zamknięcie ikona w prawym górnym rogu okna informacyjnego.

enter image description here

Ktoś wie co może być problemem?

Używam meteor.js jeśli czyni żadnej różnicy

Oto jak stworzyć InfoWindow:

var infowindow = new google.maps.InfoWindow(); 
+1

Twój kod działa dla mnie (infowindow pokazuje ikonę zamknięcia). Być może problem z css? Możesz jako eksperymentować, wypróbuj "wersję wydania" (określ v = 3 w dołączonym skrypcie). – geocodezip

+0

Nie działa. Co to może być w css? Edytuję właściwości CSS na żywo w konsoli Google Chrome, ale nie mogę znaleźć rozwiązania. – Drag0

+0

gdy funkcja infowindow nie działała, lepiej dodaj kod, w którym tworzysz infowindow –

Odpowiedz

35

Oto rozwiązanie problemu ... Wydaje google maps mieć fajny sposób radzenia sobie z obrazami i był problem z css, jak myśleliśmy. Więc rozwiązanie jest po prostu dodać to do pliku css:

img 
{ 
    max-width: none; 
} 

To jest to, cieszyć się.

+1

Szalony. Dziękuję! – ninjacolin

+3

Pracowałem, dzięki! Przydałby mi się tylko atrybut do zdjęć na mapie: # #map_canvas img {max-width: none;} '. W przeciwnym razie każdy obraz na stronie internetowej nie ma maksymalnej szerokości (i może zepsuje responsywny projekt). –

11

Miałem ten sam problem. W moim przypadku infowindow nie pokazuje wskaźnika do znacznika. W infopiach są też dziwne obrazy.

Podobno ma to związek z arkuszem stylów od konfliktu początkowego z google. Poniżej przedstawiono bardziej szczegółowe CSS zamiast przesłanianie ogólny CSS

/** FIX for Bootstrap and Google Maps Info window styes problem **/ 
img[src*="gstatic.com/"], img[src*="googleapis.com/"] { 
max-width: none; 
} 
+0

To jest lepsze rozwiązanie, ponieważ nie wpłynie to na żadne z naszych wcześniej zdefiniowanych reguł img. –

+1

Dla mnie ... Chciałbym dodać ważną flagę, aby się upewnić - img [src * = "gstatic.com/"], img [src * = "googleapis.com/"] {max-width: none !ważny;} – Redtopia

5

zależności od innych css stylizacji może trzeba dodać! Important nadpisanie ...

img[src*="gstatic.com/"], img[src*="googleapis.com/"] { 
max-width: none !important; 
}