Проблема с наложением файлов KML на карту Google, отображаемую в браузере

Мы находимся в процессе наложения некоторых файлов KML на карту Google, отображаемую в браузере. Файлы KML при отображении на обычных картах Google работают должным образом. Но при отображении на карте Google, отображаемой в браузере, файлы KML не отображаются должным образом. Файлы KML создаются путем преобразования файлов формы с помощью онлайн-конвертера.

Мы использовали исходные шейп-файлы и получили информацию об округах с сайта Бюро переписи населения США.

Нужна помощь в решении проблемы.


person Jayasudha    schedule 31.03.2011    source источник
comment
Вы имеете в виду, что в Google Планета Земля все работает как положено? Что имеют в виду обычные карты Google?   -  person Tony    schedule 06.04.2011
comment
Теперь, когда файл KML правильно отображается на Google Map. Может ли кто-нибудь помочь в наложении нескольких файлов KML на одну карту Google   -  person Jayasudha    schedule 08.04.2011
comment
Вам просто нужно создать несколько слоев и установить их свойство карты для вашего экземпляра карты. Скорее всего, у вас будут отдельные URL-адреса для каждого из ваших файлов KML, поэтому вы просто измените конструктор с ними. Смотрите мой ответ ниже для конструктора.   -  person Tony    schedule 08.04.2011


Ответы (2)


Было бы полезно, если бы вы предоставили код, который вы используете, или файл .kml, чтобы я мог видеть, где что-то идет не так.

В любом случае вы можете добавить kml на свою карту следующим образом:

<html> 
<head> 
    <script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false"></script> 
    <script type="text/javascript"> 
        function initialize() {
          new google.maps.KmlLayer('http://api.flickr.com/services/feeds/geo/?g=322338@N20&lang=en-us&format=feed-georss').setMap(
            new google.maps.Map(document.getElementById("map_canvas"), {mapTypeId: google.maps.MapTypeId.ROADMAP})
          );
        }
    </script> 
</head> 

<body onload="initialize()"> 
  <div id="map_canvas" style="position:absolute;bottom:0;left:0;right:0;top:0"></div> 
</body> 
</html> 
person Wouter van Nifterick    schedule 31.03.2011

Как вы создаете свой KmlLayer?

URL-адрес, переданный в конструктор KmlLayer, должен быть общедоступным, чтобы сервер Google мог получить KML / KMZ, а затем отобразить его на плитке, которую он вам возвращает.

var layer = new google.maps.KmlLayer('http://this/must/not/be/localhost/file.kmz');

Как показано в Справочнике по API Карт Google v3:

KmlLayer добавляет на карту географическую разметку из файла KML, KMZ или GeoRSS, который размещен на общедоступном веб-сервере.

Имейте в виду, что существуют ограничения на файлы KML и KMZ. Информацию об этом можно найти здесь: http://code.google.com/apis/kml/documentation/mapsSupport.html

person Tony    schedule 05.04.2011