2013-04-30 42 views
0

您好,我希望我能正确解释这一点。我正在尝试使用XML Feed中的坐标在Google地图中制作多边形。问题是XML提要中的坐标未显示为Lat Lon,它们在提要中以类似方式显示。XML Feed中的解析坐标

<cap:polygon> 
29.66,-97.19 29.40,-97.24 29.11,-97.61 29.35,-97.85 29.57,-97.66 29.68,-97.36 29.66,-97.19 
</cap:polygon> 

所以我需要解析的坐标出来的XML饲料,将它们转换成google.maps.LatLng物件,所以我可以把它们放入数组,这样我就可以提供一个数组中的路径属性google.maps.Polygon构造函数。

现在,我陷入了困境,因为我不知道如何去解析该feed元素,以便他们按照我需要的方式正确格式化,所以我可以构造多边形,除非有一种方法可以构建多边形用现在格式化的方式。

任何建议或意见将是伟大的!

- 谢谢!

+0

请点击此链接,疗法是两种方法命名drawPth()和decodePoly(),这将解决您的problem- http://stackoverflow.com/questions/14702621/answer-draw-两点之间使用谷歌地图android-api-v2 – 2013-04-30 07:14:01

+0

谢谢,但这是多边形不是多边形,这也是Android而不是谷歌地图V3。 – Texan78 2013-04-30 07:28:08

+0

其实你问过,如何以理想的方式解析响应。所以我建议遵循上面提到的那两种方法。 – 2013-04-30 07:30:46

回答

2
  1. 将该XML元素的内容获取到字符串中。请注意,对于“cap”命名空间,您将不得不编写独立于浏览器的代码(不同的浏览器会以不同的方式处理)。 “:各组坐标

    var coordinates = polygonElemStr.split(" "); 
    
  2. 分裂的逗号(,‘),从两个数和推创建google.maps.LatLng

  3. 分割字符串上空间(’)”它到阵列上:

    var path = []; 
    for (var i=0; i<coordinates.length; i++) { 
        var coord = coordinates[i].split(","); 
        path.push(new google.maps.LatLng(parseFloat(coord[0]), 
                parseFloat(coord[1]))); 
    } 
    
  4. 使用该数组坐标来创建您的多边形。

example

+0

这很有道理谢谢你。我是否将其添加到我现有的地图代码?我假设是的,因为它需要知道什么数据解析正确?这个新元素会被称为什么?坐标?所以对于愚蠢的问题,我对这件事感到很失望,因为我正在努力学习新事物。 – Texan78 2013-04-30 07:59:56

+0

请参阅示例。 – geocodezip 2013-04-30 08:00:29

+0

对不起,我刚看到它。这正是我正在寻找的。这是有道理的。路径是路径的新名称。我有一个示例地图http://www.mesquiteweather.net/googlemap_poly.html,但由于某些原因,它仍然不起作用。地图显示,但多边形不显示。脚本中是否包含我错过了需要被任何机会调用的内容? – Texan78 2013-04-30 08:58:04