0

我想要做的是从 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>

希望我解释正确:-)

4

1 回答 1

0

这些形状点对我很有用。有没有我们可以看到发生这种情况的网址?

于 2013-11-19T16:57:10.803 回答