创建一个函数来帮助查找给定距离内的所有地铁站可以通过以下步骤实现:
以下是一个简单的示例代码(使用JavaScript):
function findNearbyStations(latitude, longitude, distance) {
// 假设地铁站数据存储在一个stations数组中,每个元素为包含地铁站信息的对象
// 每个对象的属性包括 name(地铁站名称)、latitude(纬度)、longitude(经度)
var stations = [
{ name: "站点A", latitude: 40.7128, longitude: -74.0060 },
{ name: "站点B", latitude: 40.7289, longitude: -74.0051 },
{ name: "站点C", latitude: 40.7394, longitude: -73.9921 },
// 其他地铁站数据...
];
var nearbyStations = [];
for (var i = 0; i < stations.length; i++) {
var station = stations[i];
// 使用 Haversine 公式计算两点之间的距离
var dLat = (latitude - station.latitude) * Math.PI / 180;
var dLon = (longitude - station.longitude) * Math.PI / 180;
var a = Math.sin(dLat / 2) * Math.sin(dLat / 2) +
Math.cos(latitude * Math.PI / 180) * Math.cos(station.latitude * Math.PI / 180) *
Math.sin(dLon / 2) * Math.sin(dLon / 2);
var c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1 - a));
var stationDistance = 6371 * c; // 地球平均半径为 6371 公里
// 如果地铁站距离在指定范围内,则将其添加到结果集中
if (stationDistance <= distance) {
nearbyStations.push(station);
}
}
return nearbyStations;
}
// 示例调用
var nearbyStations = findNearbyStations(40.7128, -74.0060, 2); // 寻找距离(40.7128, -74.0060)坐标点2公里内的地铁站
console.log(nearbyStations);
请注意,上述示例代码中的数据和距离单位是举例说明,实际应用中可能需要根据具体情况进行调整。
腾讯云相关产品和产品介绍链接地址:
领取专属 10元无门槛券
手把手带您无忧上云