我这里有一个程序,它从json对象中提取一些信息并将其显示在页面上。在这种情况下公共自行车站。 json对象提供了每个站点纬度和经度的列表,因此找到这些点不是问题。
我正在尝试过滤列表以仅显示位于用户输入的lat和长坐标的矩形内的电台。
我不知道如何从超出矩形的json列表中过滤掉lat和long
$(document).ready(function() {
$("#createlist").click(function() {
var upperleftlatitude = Number($("#upperleftlatitude").val());
var upperleftlongitude = Number($("#upperleftlongitude").val());
var lowerrightlatitude = Number($("#lowerrightlatitude").val());
var lowerrightongitude = Number($("#lowerrightongitude").val());
这就是我感到困惑的地方。我想我会写一个if语句,如果json列出lat和long是在矩形区域内,基于用户给出的coords只显示这些站但我不知道如何写它
if ( ){
var table_row = "<tr class='stationrow'>"
table_row += "<td>" + station.stationName + "</td>";
table_row += "<td class='numeric'>" + station.availableDocks + "</td>";
table_row += "<td class='numeric'>" + station.availableBikes + "</td>";
table_row += "<td class='numeric'>" + station.latitude + "</td>";
table_row += "<td class='numeric'>" + station.longitude + "</td>";
table_row += "</tr>";
$("#stationtable").append(table_row);
}
total_bikes_available += station.availableBikes;
});
$("#totalbikesavailable").html(total_bikes_available);
});
});
});
答案 0 :(得分:1)
假设您要检查的坐标为station.latitude
和station.longitude
,并且四边都按照您在代码中指明的方式命名,则条件变为
if(station.latitude < lowerrightlatitude && station.latitude > upperleftlatitude && station.longitude < upperleftlongitude && station.longitude > lowerrightlongitude)
这假设您的变量名称是明确指示它们在矩形中的位置。您可能想要说服自己,当符号发生变化时仍然可以使用(使用西经度和南纬的-ve值,你应该没问题。)