I was having the same issue and I think I found a solution, albeit
ugly. As a workaround, I've added this definition to my main
stylesheet:

div#map div.gmnoprint div
{
  overflow: hidden !important;
}

(div#map is the container I'm using.) This prevents the scrollbars
from ever being displayed (the javascript code adds style="overflow:
auto", which can fortunately be overriden by the !important), so I
wrapped the contents of the info windows in separate divs and set a
minimum height on those. Works here, might break something else, I
wouldn't know.

BW,
jyujin

On Jun 7, 12:22 am, Seth <[email protected]> wrote:
> So I'm working on integrating a google map into my current website.
> Everything works fine, except when I attach infoWindows to my markers,
> the windows are not sized correctly and then the content scrolls.
> Before you guys waste time posting, Ive already tried the following:
>
> -creating an inline style with a defined display:block, height, width,
> overflow, etc
> -the same for an external style class
> -removed all my other css declarations in my master CSS file and
> determined that it IS font-size that messes everything up (I went
> through every entry by hand). If I comment out font-size:0.85em,
> everything renders fine on the map (but my font is too big!)
> -other font measurements pt, px, etc
> -this tutorialhttp://econym.org.uk/gmap/css.htm
>
> what the heck is wrong with having a global font-size?
>
> ===CODE===
> var map;
> var mapCent;
> var infoWindow;
> var markersArray = []; //array representing all markers
>
> function initialize() {
>         var browserSupportFlag = new Boolean();
>         var newyork = new google.maps.LatLng(40.69847032728747,
> -73.9514422416687);
>         mapCent = new google.maps.LatLng(40.2248,-78.8098);
>         var mapOpts = {
>                 disableDefaultUI : true,
>                 navigationControl : true,
>                 navigationControlOptions: {
>                         style : google.maps.NavigationControlStyle.ANDROID
>                 },
>                 mapTypeId: google.maps.MapTypeId.ROADMAP
>         }
>         map = new google.maps.Map(document.getElementById("map"), mapOpts);
>
>         if(navigator.geolocation) {// W3C Geolocation (Preferred)
>                 browserSupportFlag = true;
>                 navigator.geolocation.getCurrentPosition(function(position) {
>                         mapCent = new
> google.maps.LatLng(position.coords.latitude,position.coords.longitude);
>                 }, function() {
>                         handleNoGeolocation(browserSupportFlag);
>                 });
>         } else if (google.gears) { // Google Gears Geolocation
>                 browserSupportFlag = true;
>                 var geo = google.gears.factory.create('beta.geolocation');
>                 geo.getCurrentPosition(function(position) {
>                         mapCent = new
> google.maps.LatLng(position.latitude,position.longitude);
>                 }, function() {
>                         handleNoGeoLocation(browserSupportFlag);
>                 });
>         } else {// Browser doesn't support Geolocation
>                 browserSupportFlag = false;
>                 handleNoGeolocation(browserSupportFlag);
>         }
>
>         function handleNoGeolocation(errorFlag) {
>                 alert("Your browser doesn't support geolocation. We placed 
> you in
> New York City, but you will have to tell us your current location to
> get an accurate map.");
>                 mapCent = newyork;
>         }
>
>         updateMapZoom();
>         map.setCenter(mapCent);
>         searchAirportsNear(mapCent);
>
> }
>
> function searchAirports() {
>         var geocoder = new google.maps.Geocoder();
>         var address = document.getElementById("address").value;
>         if (geocoder) {
>                 geocoder.geocode( {'address': address}, function(results, 
> status) {
>                         if (status == google.maps.GeocoderStatus.OK) {
>                                 updateMapZoom();
>                                 map.panTo(results[0].geometry.location);
>                                 
> searchAirportsNear(results[0].geometry.location);
>                         } else {
>                                 alert("We could not find that location in our 
> database");
>                         }
>                 });
>         }
>
> }
>
> function searchAirportsNear(center) {
>         deleteOverlays();
>         clearSidebar();
>         var radius = document.getElementById('radius').value;
>         var searchURL = '/maps/generate-map-xml.php?lat=' + center.lat() +
> '&lng=' + center.lng() + '&radius=' + radius;
>         downloadURL(searchURL, function(data) {
>                 var markers = 
> data.documentElement.getElementsByTagName("marker");
>                 for (var i = 0; i < markers.length; i++) {
>                         var latlng = new
> google.maps.LatLng(parseFloat(markers[i].getAttribute("lat")),parseFloat(ma­rkers[i].getAttribute("lng")));
>                         addMarker(markers[i]);
>                         addToSidebar(markers[i].getAttribute('content'));
>                 }
>         });
>
> }
>
> function addMarker(result) {
>         var marker = new google.maps.Marker({
>                 position : new
> google.maps.LatLng(parseFloat(result.getAttribute("lat")),parseFloat(result­.getAttribute("lng"))),
>                 map : map,
>                 icon : 
> 'http://static.flyruby.com/images/maps/airplane-marker.png'
>         });
>         google.maps.event.addListener(marker, "click", function() {
>                 if(infoWindow) infoWindow.close();
>                 infoWindow = new google.maps.InfoWindow();
>                 var display = '<div class="infoWindowContent">Lorem ipsum 
> dolor sit
> amet, consectetur adipiscing elit. Nullam blandit imperdiet metus.
> Nulla fringilla tincidunt leo, aliquet mattis arcu feugiat sit amet.
> Suspendisse vel sollicitudin lorem. Sed lobortis congue hendrerit.
> Pellentesque dignissim, felis egestas ullamcorper egestas, felis
> libero hendrerit lectus, ut luctus est orci vitae lectus. Nulla ornare
> lobortis quam, ut rhoncus justo dictum vitae. Mauris commodo est et
> eros eleifend eu convallis tellus accumsan. Nulla consequat
> pellentesque urna, a ultrices dolor sollicitudin scelerisque. Etiam
> iaculis, arcu eget cursus facilisis, diam dui ultrices odio, non
> porttitor turpis arcu quis augue. Aenean tincidunt egestas tellus in
> congue.</div>';
>                 infoWindow.setContent(display);
>                 infoWindow.open(map,marker);
>         });
>         markersArray.push(marker);
>
> }
>
> ===END CODE===

-- 
You received this message because you are subscribed to the Google Groups 
"Google Maps JavaScript API v3" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/google-maps-js-api-v3?hl=en.

Reply via email to