PHP在Google地图上显示XML坐标

时间:2018-04-27 20:48:38

标签: php xml codeigniter maps

我的CodeIgniter项目中有一个页面显示了google maps api,我想让它显示我在项目根目录下创建的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 :(得分:0)

我使用PHPstorm IDE创建了xml文件。事实证明,当我使用文件资源管理器检入文件夹本身时,xml文件只是一个空白文件。我用记事本打开它并将其保存为xml并且我的代码工作正常。不要相信PHPstorm会创建XML文件。