我想要做的是从 PHP/XML 文件加载我的 MapQuest 地图上的坐标。这是整个场景:我的页面加载并显示地图,然后我想单击一个调用函数的按钮。在这个函数中,我使用 AJAX 从名为 coor.xml 的外部文件中获取坐标。在 coor.xml 中,我使用 PHP 从数据库中获取坐标(Lat 和 Lng)并生成 XML 文件。然后这些坐标会显示在我的地图上,而无需重新加载页面。我遇到的问题是它不起作用。这是我的代码:
MQA.withModule('shapes', function() {
var line = new MQA.LineOverlay();
var lineCoordinates = "";
var x=xmlDoc.getElementsByTagName("coordinates");
for(var i = 0; i < x.length; i++)
{
var lng = x[i].getElementsByTagName("lng")[0].firstChild.nodeValue;
var lat = x[i].getElementsByTagName("lat")[0].firstChild.nodeValue
if((x.length - 1) == i)
{
lineCoordinates = lineCoordinates + lng + ', ' + lat;
}
else
{
lineCoordinates = lineCoordinates + lng + ', ' + lat + ', ';
}
}
line.setShapePoints([lineCoordinates]);
map.addShape(line);
这是它应该显示的内容:
line.setShapePoints([-27.955591, 25.111084, -27.974998, 26.759033, -29.113775, 26.253662]);
但我收到以下错误:
- 非预期值 NaN,NaN 解析点属性。
-Aq 未定义
这是我的 coor.xml 文件示例:
<?xml version="1.0" encoding="utf-8"?>
<markers>
<coordinates>
<id>1</id>
<lat>-27.955591</lng>
<lng>25.111084</lat>
<text>Position 1</text>
</coordinates>
<coordinates>
<id>2</id>
<lat>-27.974998</lng>
<lng>26.759033</lat>
<text>Position 2</text>
</coordinates>
<coordinates>
<id>3</id>
<lat>-29.113775</lng>
<lng>26.253662</lat>
<text>Position 3</text>
</coordinates>
</markers>
希望我解释正确:-)