您好我希望我能正确解释一下。我正在尝试使用XML Feed中的坐标在Google地图中制作多边形。问题是XML Feed中的坐标未显示为Lat Lon,它们在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 feed中的坐标,将它们转换为google.maps.LatLng对象,这样我就可以将它们推入一个数组,所以我可以将该数组作为google.maps中的paths属性提供.Polygon构造函数。
现在这就是我被困住的地方,因为我不知道如何解析那个feed元素,所以它们按照我需要的方式正确格式化,所以我可以构造多边形,除非有一种方法我可以构造多边形现在格式化的方式。
任何建议或建议都会很棒!
-Thanks!
答案 0 :(得分:2)
将该XML元素的内容转换为字符串。请注意,使用“cap”命名空间,您必须编写与浏览器无关的代码(不同的浏览器会以不同的方式处理)。
将字符串拆分为空格(“”):
var coordinates = polygonElemStr.split(" ");
将逗号(“,”)上的每组坐标分开,从两个数字创建一个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])));
}
使用该坐标数组创建多边形。