使用Google Place Nearby Search API筛选机场排除直升机场的方法
过滤Google Nearby Search API直升机场结果的方案
Google Places API的type=airport参数默认返回所有航空相关场所,包含直升机场、水上机场、民用商业机场等类别,可通过以下两种方式实现精准过滤:
1. 请求阶段预过滤
在原请求参数中新增keyword=-heliport参数,即可在接口返回阶段排除所有标注为直升机场的场所,调整后的请求示例如下:
https://maps.googleapis.com/maps/api/place/nearbysearch/json?key=keyVal&location=lat,long&radius=10000&type=airport&keyword=-heliport
该方法可以过滤掉90%以上的直升机场结果,适合不需要100%精准、希望减少本地计算量的场景。
2. 返回结果二次校验过滤
如果要求完全无直升机场数据,可在拿到接口返回结果后,遍历每个场所的types字段做过滤:
- 直升机场的
types数组中必然包含heliport枚举值 - 普通固定翼机场的
types数组仅包含airport枚举值,无heliport标识
以下是简单的过滤代码示例(JavaScript):
// 仅保留非直升机场的条目 const targetAirports = response.results.filter(place => !place.types.includes('heliport'))
如果需要进一步筛选仅保留商业客运机场,还可以额外判断场所名称是否包含「机场」「国际机场」等关键词,排除带「直升机场」「起降点」「通用航空」等标识的条目。
内容的提问来源于stack exchange,提问作者Vidya Balakrishnan
相关产品推荐
相关产品推荐

