PHP Показать координаты XML на Google Maps - PullRequest
0 голосов
/ 27 апреля 2018

У меня есть страница в моем проекте CodeIgniter, которая показывает API карт Google, и я хочу, чтобы она показывала координаты из файла XML, который я создал в корне моего проекта. Я проверил его с помощью файла .xml, предоставленного сервером, в руководстве, которому я следовал, и это сработало. Я пытаюсь заставить его работать с моим собственным XML-файлом, но кажется, что файл не может быть найден. Вот код для функции, которая заставляет координаты появляться на карте:

function initMap() {

    var map = new google.maps.Map(document.getElementById('map'), {
        center: new google.maps.LatLng(46.837049838196, -71.094652204138),
        zoom: 12
    });
    var infoWindow = new google.maps.InfoWindow;

   // this is the URL that should be pointing to an XML file I have stored at the root of my CodeIgniter project.

    downloadUrl('http://127.0.0.1/BD3_TP1/xml/mapmarkers2.xml', function(data) {
        var xml = data.responseXML;
        var markers = xml.documentElement.getElementsByTagName('marker');
        Array.prototype.forEach.call(markers, function(markerElem) {
            var id = markerElem.getAttribute('id');
            var name = markerElem.getAttribute('name');
            var address = markerElem.getAttribute('address');
            var type = markerElem.getAttribute('type');
            var point = new google.maps.LatLng(
            parseFloat(markerElem.getAttribute('lat')),
            parseFloat(markerElem.getAttribute('lng')));
            var infowincontent = document.createElement('div');
            var strong = document.createElement('strong');
            //   strong.textContent = name
            infowincontent.appendChild(strong);
            infowincontent.appendChild(document.createElement('br'));

            var text = document.createElement('text');
            text.textContent = address
            infowincontent.appendChild(text);
            var icon = customLabel[type] || {};
            var marker = new google.maps.Marker({
                map: map,
                position: point,
                label: icon.label
            });
            marker.addListener('click', function() {
                infoWindow.setContent(infowincontent);
                infoWindow.open(map, marker);
            });
        });
    });
}

Я даже скопировал содержимое учебного XML-файла и скопировал его. Когда я добавляю исходный URL (https://storage.googleapis.com/mapsdevsite/json/mapmarkers2.xml) в функцию downloadUrl, которую мы видели ранее, она работает. Ошибка - это URL, который я написал, который указывает на мой сохраненный XML-файл. Он не найдет файл, поэтому координаты не появляются. Что мне делать?

1 Ответ

0 голосов
/ 28 апреля 2018

Я создал XML-файл с помощью PHPstorm IDE. Как оказалось, когда я проверил саму папку с файлами с помощью проводника, xml-файл был просто пустым файлом. Я открыл его с помощью блокнота и сохранил как XML, и мой код работал. Не доверяйте PHPstorm при создании файлов XML.

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