Google maps показывает информацию об ошибке вместо карты - PullRequest
0 голосов
/ 03 марта 2011

Я хотел добавить карту с некоторыми пользовательскими маркерами в свой проект. На localhost все работает нормально, но когда я отправил код на рабочий сервер, я получил сообщение «Извините, у нас нет карты этого региона в требуемом масштабе» (или что-то подобное). Это код:

<script type='text/javascript'>
    var map;
    var mapStart = function(){
        if(GBrowserIsCompatible()){
            map = new GMap2(document.getElementById("map"));
            map.setCenter(new GLatLng(51.961869,19.134521),6);
            map.addControl(new GLargeMapControl());
            var ikona1 = new GIcon();
            ikona1.image = "{{MEDIA_URL}}images/map_icon_1.png";
            ikona1.iconSize = new GSize(36, 30);
            ikona1.infoWindowAnchor = new GPoint(16,16);
            ikona1.iconAnchor = new GPoint(16,16);
            var data_map = {{ properties|safe }}       
            map.enableDoubleClickZoom();
            map.enableContinuousZoom();
            var bounds = new GLatLngBounds();
            var maxlng =0;
            var maxlat=0;
            var minlng=0;
            var minlat=0;
            for (var i=0; i < data_map.length; i++){
                var pos_lat = parseFloat(data_map[i]['lat']);
                var pos_lon = parseFloat(data_map[i]['long']);
                addMarker(pos_lat, pos_lon,{icon:ikona1}, data_map[i]['info_box']
                );
                if (pos_lat < minlat || minlat==0){ minlat = pos_lat}
                if (pos_lat > maxlat || maxlat==0){ maxlat = pos_lat}
                if (pos_lon < minlng || minlng==0){minlng = pos_lon}
                    if (pos_lon > maxlng || maxlng==0){maxlng = pos_lon}
                lat = minlat + (( maxlat - minlat)/2);
                lng = minlng + (( maxlng - minlng)/2);
                var allpoints = new GLatLng(lat,lng);
                bounds.extend(allpoints);
            }
            map.setZoom(map.getBoundsZoomLevel(bounds)-2);
            map.setCenter(bounds.getCenter());
        }
    }

    var addMarker = function(lat, lon, options, info_box_html){
        point = new GLatLng(lat,lon);
        var marker = new GMarker(point, options);

        GEvent.addListener(marker, "click", function() {
            marker.openInfoWindowHtml(info_box_html);
        });

        map.addOverlay(marker);
    }

    $(document).ready(function(){
        mapStart();
    });   
    window.onunload = function (){ GUnload()};
</script>

и у меня есть следующий импорт (с новым сгенерированным ключом):

<script src="http://maps.google.com/maps?file=api&v=2&sensor=false&key=ABQIAAAA2YOYLBVnylQ7NK445E1_gxQFK8hZs27CqIA3jAe_qRgIGP9GQBTFZjebH-xe-6vEjhK0Pa9agV_Mpg"></script>

data_map имеет правильную форму, поскольку я уже проверил это локально. Кроме того, когда я закомментировал все, кроме создания карты и добавления элемента управления, у меня появился чистый серый экран Кто-нибудь знает эту ошибку?

1 Ответ

0 голосов
/ 03 марта 2011

У вас есть действительные координаты.Интересно, если вы отправляете map.setZoom действительное значение.Что произойдет, если не установить уровень масштабирования?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...