Наложение Google Maps не отображается - PullRequest
2 голосов
/ 30 мая 2011

У меня на сайте есть карта Google с наложением кмз:

<script type="text/javascript"> 
<!--
    var geocoder;
    var map;
    var overlayXml;

    function initialize() {
//      if (GBrowserIsCompatible()) {
        geocoder = new google.maps.Geocoder();

        var latlng = new google.maps.LatLng(25,-24);
        var myOptions = {
            zoom: 2,
            center: latlng,
            mapTypeId: google.maps.MapTypeId.ROADMAP
        }
        map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);

//        map.setUIToDefault();

        var ctaLayer = new google.maps.KmlLayer('http://linktothe/data.kmz');
        ctaLayer.setMap(map);
//      }
    }

    function codeAddress() {
        var address = document.getElementById("address").value;
        geocoder.geocode( { 'address': address}, function(results, status) {
            if (status == google.maps.GeocoderStatus.OK) {
                map.setCenter(results[0].geometry.location);
                map.setZoom(10);     
            } else {
                alert("Could not navigate to location. Reason: " + status);
            }
        });
    }

//-->
</script> 

</head> 
<body onload="initialize()" onunload="GUnload()"> 
etc.

Есть две проблемы:

1) При первом переходе на страницу наложение не отображается,Я должен обновить страницу, чтобы показать.Я понятия не имею, почему это происходит.Может быть, это потому, что оверлей очень большой (около 3500 маркеров)?Я полагаю, что уже исчерпал свои параметры (файл имел размер> 1 МБ, прежде чем я переключился на сжатую версию kmz).

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

...