Как динамически создать карту Google с наложением слоя kml - PullRequest
1 голос
/ 10 февраля 2012
function initialize() {
    var myOptions = {
      center: new google.maps.LatLng(23.71181,90.407467),
      zoom: 8,
      mapTypeId: google.maps.MapTypeId.ROADMAP
    };
    var map = new google.maps.Map(document.getElementById("map_canvas"),
        myOptions);
    var map_coverage = new google.maps.KmlLayer('http://mydomain.com/myfile.kmz'  );
    map_coverage.setMap(map);       
    map.setZoom(12);
    map.setCenter(dhaka_latlng);    
  }

Приведенный выше код выводит следующую карту с kmllayer, и файл kml был создан с помощью Google earth и сохранен в виде файла kmz (сжатого) на сервере.Этот файл содержит некоторые данные XML, а цветная область представляет некоторые координаты в теге вместе с другими тегами, такими как

<coordinates>
    90.27401489730001,23.9502580159,0 90.2740186914,23.95007761100001 ... so on
</coordinates>

. Я хочу динамически создать аналогичную карту с помощью kmllayer, используя javascript api-v3, но без помощи Google.земной шар.Я хочу создать файл kml с помощью php и сохранить его на сервере как somefile.kmz.Это возможно ?Любые виды помощи будут оценены.Спасибо!

Я могу опубликовать исходный файл kml, если вам нужно, но он слишком большой

enter image description here

1 Ответ

1 голос
/ 10 февраля 2012

Да, можно сгенерировать новый файл KML на стороне сервера (PHP) и затем указать JavaScript для загрузки нового KmlLayer, используя URL-адрес, который будет генерировать содержимое KML. Обратите внимание, что URL KML:

  • должен быть общедоступным, поскольку серверы Google должны загрузить его
  • будет кэшироваться серверами Google, при этом другой контент по тому же URL не будет обновляться

Чтобы преодолеть это кэширование, просто добавьте случайный грохот в URL. Тем не менее, имейте в виду, что кеширование поможет быстро. Вы не можете одновременно использовать «сверхбыстрый KML» и «свежие данные в реальном времени». Кроме того, следите за временем отклика вашего сервера на URL-адреса KML: чем быстрее, тем лучше.

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