我的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文件。它找不到文件,因此不会出现坐标。我该怎么办?
答案 0 :(得分:0)
我使用PHPstorm IDE创建了xml文件。事实证明,当我使用文件资源管理器检入文件夹本身时,xml文件只是一个空白文件。我用记事本打开它并将其保存为xml并且我的代码工作正常。不要相信PHPstorm会创建XML文件。