0

您好,我希望我能正确解释这一点。我正在尝试使用来自 XML 提要的坐标在 Google 地图中制作多边形。问题是 XML 提要中的坐标未显示为经纬度,它们在提要中显示为这样。

<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 构造函数中的路径属性提供.

现在这是我卡住的地方,因为我不确定如何解析该提要元素,以便它们按照我需要的方式正确格式化,这样我就可以构造多边形,除非有一种方法可以用它的方式构造多边形现在格式化。

任何建议或建议都会很棒!

-谢谢!

4

1 回答 1

2
  1. 将该 XML 元素的内容放入字符串中。请注意,使用“cap”命名空间,您将不得不编写独立于浏览器的代码(不同的浏览器处理方式不同)。

  2. 在空格(“”)上拆分字符串:

    var coordinates = polygonElemStr.split(" ");
    
  3. 用逗号 (",") 分割每组坐标,从这两个数字创建一个 google.maps.LatLng 并将其推送到一个数组中:

    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. 使用该坐标数组来创建您的多边形。

例子

于 2013-04-30T07:27:17.730 回答