我创建了一个名为 coordsArray 的数组,如下所示。我已经切断了阵列中正在进行的元素作为其机密。
我有这个for循环,它应该遍历数组中的每个元素,并查看索引值 [1] 和 [2] 中的坐标是否在伦敦的边界框。
var cityL = "ldn";
for (var i = 0; i < coordsArray.drugs.length; i++) {
if(cityL == "ldn"){
if( 51.50408 <= coordsArray.drugs[i][1] && coordsArray.drugs[i][1] <= 51.42548 && -0.326542 <= coordsArray.drugs[i][2] && coordsArray.drugs[i][2] <= 0.0463) {
console.log("test");
}
}
}
这根本不起作用,我想知道它是否与数组中的坐标有关,可能是字符串类型?我不确定如何改变这一点。我确信检查值(coordsArray.drugs i和[2])是否在边界框内的if语句都是正确的。感谢您的指导,我只想查看伦敦境内的坐标,谢谢!
答案 0 :(得分:1)
您的数据存储为字符串并且您正在根据数字进行测试,这是正确的。你需要的是parseFloat()。
if( 51.50408 <= parseFloat(coordsArray.drugs[i][1]) ) {
...
}