2009-11-17 2 views
1

Я встроил карту google на свою страницу. В IE8 часть карты отображается, но остальная часть карты серая. В firefox вся карта просто серая. Мой код заключается в следующем:встроенная карта google просто серая

<script type="text/javascript"> 

      function initialize() { 
       if (GBrowserIsCompatible()) { 
        var map = new GMap2(document.getElementById("map_canvas")); 
        map.setCenter(new GLatLng(37.4419, -122.1419), 13); 
        map.setUIToDefault(); 
       } 
      } 

      window.setTimeout(function() { 
       initialize(); 
      }, 750); 

      window.onunload = GUnload; 
</script> 

<div id='map_canvas' style="float:left; width:481px; height:450px; border-style:solid; border-width:2px; border-left:none; border-color:#5793C9"> 

Пример кода Google Я скопировал это из использует <body onload> и выгружать, но у меня нет доступа к этим, так как мое тело определяется в MasterPage. Думаю, это, наверное, причина. Как я могу это исправить?

Редактировать для добавления: мой test.html делает то же самое. Все содержимое test.html являются:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" 
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:v="urn:schemas-microsoft-com:vml"> 
    <head> 
    <meta http-equiv="content-type" content="text/html; charset=utf-8"/> 
    <title>Google Maps JavaScript API Example: Simple Map</title> 
    <script src="http://maps.google.com/maps?file=api&amp;v=2&amp;sensor=false&amp;key=KEYABCDE" 
      type="text/javascript"></script> 
    <script type="text/javascript"> 

    function initialize() { 
     if (GBrowserIsCompatible()) { 
     var map = new GMap2(document.getElementById("map_canvas")); 
     map.setCenter(new GLatLng(37.4419, -122.1419), 13); 
     map.setUIToDefault(); 
     } 
    } 

    </script> 
    </head> 
    <body onload="initialize()" onunload="GUnload()"> 
    <div id="map_canvas" style="width: 500px; height: 300px"></div> 
    </body> 
</html> 
+0

BTW, правильно ли установлен ключ google api? – Patonza

+0

Ваш test.html работает отлично. –

+0

Спасибо, что проверили его для меня. Это должна быть какая-то проблема с внутренним брандмауэром или что-то в этом роде (хотя основной сайт работает). Теперь я переключился на карты bing (намного более холодный/более простой в использовании). Не знаете, что делать с этим вопросом? – NibblyPig

ответ

1

750 миллисекунд не может быть достаточно для того, чтобы загрузить DOM укомплектовать.

Вместо:

window.setTimeout(function() { 
    initialize(); 
}, 750); 

попробовать с помощью:

window.onload = initialize; 
0

Убедитесь, что значения по умолчанию разумны. Вы центрируете карту на существующую точку? Похоже, вы ... Вы даете приемлемый уровень масштабирования? Существует ли уровень масштабирования 13?

0

Если у вас есть эта проблема на Firefox, вы можете установить IMG CSS (каскадные таблицы стилей) для отображения контейнера, как это:

.gmap img { 
    max-width: none; 
} 

Видимо это является «документировано на FF»

я нашел его здесь этот пост: https://drupal.org/node/1298800

Я не использую Drupal, но это фиксированная моя проблема на Firefox ..

С уважением Kim

+0

Точка принята Отредактировано для размещения вашего комментария ... –

Смежные вопросы