Реализация Google Map не работает в Safari и Chrome - PullRequest
0 голосов
/ 20 октября 2010

Я использую карту Google на странице контактов этого сайта: http://www.vqt.ch/dev/?lang=fr&page=contact

Карта отображается в прямоугольнике вверху страницы. В Firefox все работает нормально, но в Safari & Chrome ничего не отображается ...

Вот как я это реализую:

<script src="http://maps.google.com/maps?file=api&amp;v=2&amp;key=ABQIAAAA8yt4eBY5BILk0ExOfUVIuxTtIfr4IreHJHupahKP7IIqKlsN7BQG4crqM32UzthNoFP_54xDooNNNQ&amp;sensor=true" type="text/javascript"></script>

    <script type="text/javascript">
    //<![CDATA[

        function createMarker(point,text) {
          var marker = new GMarker(point);
          GEvent.addListener(marker, "click", function() {   marker.openInfoWindowHtml(text);  });
          return marker;
        }
        function load() {
            if (GBrowserIsCompatible()) {
                var Lat=46.983707;
                var Lng=6.904106;
                var Zoom=13;
                var TextAffiche="<strong>VQT<\/song><br/>Verre & Quartz Technique SA<br/><br/>Rue de Maillefer 11d<br/>2000 Neuchatel";

                var map = new GMap2(document.getElementById("contactMap"));
                    map.setCenter(new GLatLng(Lat,Lng ),Zoom );
                    map.addControl(new GLargeMapControl3D());
                    map.addControl(new GMapTypeControl());

                var point = new GLatLng(Lat,Lng);

                var new_icon = new GIcon()  
                    new_icon.image = "http://www.vqt.ch/gmap_marker.png";  
                    new_icon.size = new GSize(50, 32);  
                    new_icon.iconAnchor = new GPoint(0,0);  
                    new_icon.infoWindowAnchor = new GPoint(0,0); 

                    var opt;  
                    opt = {};  
                    opt.icon = new_icon;  
                    opt.draggable = false;
                    opt.clickable = true; 
                    opt.dragCrossMove = false;  

                var marker = new GMarker(point,opt);//createMarker(point,TextAffiche);
                    map.addOverlay(marker);
                    marker.openInfoWindowHtml(TextAffiche)
            }
        }
        $("body").attr("onload", "load()");
        $("body").attr("onunload", "GUnload()");

    //]]>
    </script>

и вот мой HTML:

<div class="normalContent">
            <div id="contactMap" class="borderedImages"></div>
        </div>

Вы знаете, что там не так? Я действительно не понимаю, почему это работает где-то и не работает где-то еще ...

Спасибо за вашу помощь!

1 Ответ

2 голосов
/ 22 октября 2010

Я перезапустил учебник, и теперь он работает: http://www.vqt.ch/dev/google_map_debug/

Основным отличием является вызов функции load, которая теперь находится в атрибутах body:

  <body onload="load()" onunload="GUnload()">

Так что, я думаю, проблема была здесь ... Спасибо за вашу помощь!


...