我已经看了所有其他问题,但基本上,我有一个很长的坐标列表,如下所示:“42.2723998,-81.23239 ... 42.84099,-81.3990398”我使用的是javascript 。分裂(” , ”); on它现在是一个名为coordinate []的数组,每个字符串都有一个坐标,然后使用下面的代码:
// create a coordinate Array
var polygonCoords = [];
// creates a new LatLng
var j = 0;
var z = j + 1;
while (z < coordinate.length) {
if ((j%2) === 0) {
var co1 = parseFloat(coordinate[z]);
//document.write(coordinate[j]);
var co2 = parseFloat(coordinate[j]);
//document.write(co2);
var newLatLng = new google.maps.LatLng(co1,co2);
polygonCoords.push(newLatLng);
} else {
var co2 = parseFloat(coordinate[z]);
var co1 = parseFloat(coordinate[j]);
var newLatLng = new google.maps.LatLng(co1,co2);
polygonCoords.push(newLatLng);
}
z++;
j++;
}
但是当我打印出polygonCoords数组时,它总是将经度返回为0,并且我也使用parseFloat()从字符串中解析它。此外,当我通过它自己显式返回经度时,它返回实际数字。我只需要它就可以工作,这样我就可以创建一个LatLng数组,以后我可以将它用作多边形的路径。
答案 0 :(得分:1)
好的,我已修好它,不知何故,当我从kml文件中获取经度时,它将采用0 -81.290390的形式......所以每当我将其解析为浮点数时,它都会识别它为0而不是-81.293848。现在它已正确完成,并打印出正确的浮动。