从XML文件将lng和lat坐标加载到MapQuest中

时间:2013-10-22 11:29:54

标签: javascript php xml mapquest

我要做的是从PHP / XML文件加载MapQuest地图上的坐标。 这是整个场景: 我的页面加载并显示地图,然后我想单击一个调用函数的按钮。在这个函数中,我使用AJAX从名为coor.xml的外部文件中获取坐标。在coor.xml中,我使用PHP从我的数据库中获取Coordinates(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>

希望我能正确解释: - )

1 个答案:

答案 0 :(得分:0)

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