附近地点发现_find-nearby
以下为本文档的中文说明find-nearby 是一个基于 OpenStreetMap 的附近地点发现技能,可以查找餐厅、咖啡馆、酒吧、药店等各类场所。该技能最大的优势是完全免费,不需要任何 API 密钥就能使用,因为其底层数据源是开源的 OpenStreetMap。该技能支持多种位置输入方式:从 Telegram 位置 pin 中提取的经纬度坐标、地址文本(如近北京路 123 号)、城市名称(如广州市中心附近的餐厅)、邮政编码(如近 100000 的药店)以及地标名称(如天安门广场附近的咖啡馆)。使用方法简单直接,通过命令行调用 Python 脚本即可:可按经纬度加半径搜索,也可按地址或地标名称自动地理编码后搜索,还支持同时搜索多种场所类型。使用场景包括:在旅行时快速查找附近的服务设施;在陌生城市中定位最近的药店或餐厅;Telegram 聊天中通过发送位置 pin 即时查找周边场所;以及任何需要基于位置的本地发现需求。核心原则是开放数据优先,所有地理数据均来自 OpenStreetMap 这个自由的全球地图数据项目,无需担心 API 调用配额或费用问题。该技能还集成了地理编码能力,用户输入地址或地标名称后会自动转换为坐标再进行搜索,使用体验流畅自然。搜索半径、地点类型等参数均可灵活配置,适应不同场景的需求。Find Nearby — Local Place DiscoveryFind restaurants, cafes, bars, pharmacies, and other places near any location. Uses OpenStreetMap (free, no API keys). Works with:Coordinatesfrom Telegram location pins (latitude/longitude in conversation)Addresses(“near 123 Main St, Springfield”)Cities(“restaurants in downtown Austin”)Zip codes(“pharmacies near 90210”)Landmarks(“cafes near Times Square”)Quick Reference# By coordinates (from Telegram location pin or user-provided)python3 SKILL_DIR/scripts/find_nearby.py--latLAT--lonLON--typerestaurant--radius1500# By address, city, or landmark (auto-geocoded)python3 SKILL_DIR/scripts/find_nearby.py--nearTimes Square, New York--typecafe# Multiple place typespython3 SKILL_DIR/scripts/find_nearby.py--neardowntown austin--typerestaurant--typebar--limit10# JSON outputpython3 SKILL_DIR/scripts/find_nearby.py--near90210--typepharmacy--jsonParametersFlagDescriptionDefault--lat,--lonExact coordinates—--nearAddress, city, zip, or landmark (geocoded)—--typePlace type (repeatable for multiple)restaurant--radiusSearch radius in meters1500--limitMax results15--jsonMachine-readable JSON outputoffCommon Place Typesrestaurant,cafe,bar,pub,fast_food,pharmacy,hospital,bank,atm,fuel,parking,supermarket,convenience,hotelWorkflowGet the location.Look for coordinates (latitude: ... / longitude: ...) from a Telegram pin, or ask the user for an address/city/zip.Ask for preferences(only if not already stated): place type, how far they’re willing to go, any specifics (cuisine, “open now”, etc.).Run the scriptwith appropriate flags. Use--jsonif you need to process results programmatically.Present resultswith names, distances, and Google Maps links. If the user asked about hours or “open now,” check thehoursfield in results — if missing or unclear, verify withweb_search.For directions, use thedirections_urlfrom results, or construct:https://www.google.com/maps/dir/?api1originLAT,LONdestinationLAT,LONTipsIf results are sparse, widen the radius (1500 → 3000m)For “open now” requests: check thehoursfield in results, cross-reference withweb_searchfor accuracy since OSM hours aren’t always completeZip codes alone can be ambiguous globally — prompt the user for country/state if results look wrongThe script uses OpenStreetMap data which is community-maintained; coverage varies by region