Добавление слоя KML в API Google Map 3 - PullRequest
1 голос
/ 11 апреля 2011

Я пытаюсь сделать так, чтобы, когда пользователь выбирает некоторые вещи из формы и нажимает кнопку «Отправить», он добавлял все это на карту Google. Добавление маркеров работает отлично, а добавление события прослушивания для добавления полилиний работает также отлично. По какой-то причине файл KML не будет правильно наложен. Я не уверен, что я делаю это правильно, хотя. Значение из формы выводится правильно, поэтому я знаю, что данные достигают, по крайней мере, функции карты. Вот код, который не работает:

window.onload = function() {
        // Creating an object literal containing the properties
        // we want to pass to the map
        var options = {
            zoom: 5,
            center: new google.maps.LatLng(39.09, -95.71),
            mapTypeId: google.maps.MapTypeId.ROADMAP
        };
        // Creating the map
        var map = new google.maps.Map(document.getElementById('map'), options);
        // Creating a LatLngBounds object
        var bounds = new google.maps.LatLngBounds();

        // Creating an empty MVCArray
        var route = new google.maps.MVCArray();

        var polyline = new google.maps.Polyline({
            path: route,
            strokeColor: "#ff0000",
            strokeOpacity: 0.6,
            strokeWeight: 5
        });      
        polyline.setMap(map);
        google.maps.event.addListener(map, 'click', function(e) {
            var path = polyline.getPath();
            path.push(e.latLng);
        });
        kmlFiles.setMap(map);

вот код, который устанавливает переменную kmlFiles:

kmlFiles = new google.maps.KmlLayer(<?php echo $_POST['kmlFile']; ?>);

1 Ответ

0 голосов
/ 14 августа 2011

Я подозреваю, что вы пропускаете кавычки вокруг URL, который вы передаете KMLLayer, например,

var layer = new google.maps.KmlLayer (http://www.site.com/foo.kml);

недействительно, в то время как

var layer = new google.maps.KmlLayer ("http://www.site.com/foo.kml");

действителен.

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