style - Google Maps API InfoWindow no muestra contenido
personalizar infowindow google maps v3 (4)
Mi código se ve así:
var map = /*some google map - defined earlier in the code*/;
var geocoder = new google.maps.Geocoder();
var address = ''Some Address, Some Street, Some Place'';
geocoder.geocode({''address'':address},function(results,status){
if (status == google.maps.GeocoderStatus.OK) {
map.setCenter(results[0].geometry.location);
var infobox = new google.maps.InfoWindow({
content: ''Hello world''
});
for(i in results){
var marker = new google.maps.Marker({
map: map,
position: results[i].geometry.location
});
google.maps.event.addListener(marker, ''click'', function() {
infobox.setContent(''blablabla'');
infobox.open(map,marker);
alert(infobox.content); //displays ''blablabla''
});
}
}
});
Básicamente está creando algunos marcadores en un solo mapa basado en una cadena de direcciones dada. Agrega una ventana de información a los marcadores que se abre al hacer clic.
El problema es: la ventana de información muestra vacía.
Captura de pantalla aquí:
PD: usando Maps API V3
Así es como lo he hecho.
var map,markersArray,infowindow; //infowindow has been declared as a global variable.
function initialize(){
var myOptions = {
zoom: 14,
center: new google.maps.LatLng(51.5001524,-0.1262362),
mapTypeId: google.maps.MapTypeId.ROADMAP
}
map = new google.maps.Map(document.getElementById("map_canvas"),
myOptions);
infowindow = new google.maps.InfoWindow(
{
size: new google.maps.Size(150,50)
});
google.maps.event.addListener(map, ''click'', function() {
infowindow.close();
});
markersArray = [];
}
function createMarker(latlng, html,zoom) {
var contentString = html;
var marker = new google.maps.Marker({
position: latlng,
map: map,
zIndex: Math.round(latlng.lat()*-100000)<<5
});
google.maps.event.addListener(marker, ''click'', function() {
infowindow.setContent(contentString);
infowindow.open(map,marker);
});
marker.MyZoom = zoom;
return marker;
}
Aquí puede encontrar el ejemplo de trabajo y el javascript completo.
Básicamente, debe usar una función externa a su marcador de adición para agregar el mensaje de infobox a cada marcador ... para obtener un ejemplo y una explicación detallada, consulte: http://code.google.com/apis/maps/documentation/javascript /events.html#EventClosures
He resuelto el problema agregando el código siguiente.
setTimeout (function () {GeocodeMarker.info.open (GoogleMap, GeocodeMarker);}, 300);
Gracias
Me encontré con el mismo problema, y encontré la simple causa: el texto en la ventana de información se mostraba en realidad, pero en color blanco, y por lo tanto, simplemente no se veía en el fondo blanco. Dar el contenido de un color diferente a través de CSS resolvió el problema para mí.