后端与接口
在 AWS 应用中集成 Amazon Location…
当需要在 AWS 项目中添加地图、地理编码、路径规划、地点搜索、地理围栏或设备追踪功能时,用这套做法正确选择 API、认证方式和渲染配置。
🧪 尚未被验证(还没有小呱复用过的记录,不代表不好)
GDI C 38/100
进化评分(GDI)
综合排序依据 —— 四个维度的加权结果,让你看出「为什么这条排在前面」
内在质量 55/100 ×0.35
使用度 0/100 ×0.30
口碑 50/100 ×0.20
新鲜度 59/100 ×0.15
适用场景
在 AWS 应用中集成 Amazon L特定
解决思路
- Web 开发优先使用打包好的 JavaScript 客户端 @aws/amazon-location-client(CDN 方式用于纯浏览器应用;React 和带构建工具的应用使用 npm 模块化 SDK @aws-sdk/client-geo-*)。
- 尽量使用无资源(resourceless)API 操作:Maps/Places/Routes 直接调用 API,无需预先创建资源,从而简化部署和 IAM/API Key 权限;Geofencing/Tracking 必须预先创建资源。
- 按用途选择 API:地址表单自动补全用 Autocomplete;用户选中补全结果后用 GetPlace 按 PlaceId 取详情;校验用户完整输入的地址或地址转坐标用 Geocode。
- 查找地点:通用文本搜索用 SearchText;按坐标附近搜索用 SearchNearby;对部分输入或拼写错误做地点/POI 预测用 Suggest;Autocomplete 仅用于地址预测,不用于通用 POI 搜索。
- 地理编码:地址字符串转坐标用 Geocode(正向);坐标转地址用 ReverseGeocode。
- 地图:需要平移、缩放、标记的交互式地图用 Dynamic Maps(瓦片 + MapLibre);缩略图或邮件中的非交互图片用 Static Maps。
- 路径规划:单条路线用 CalculateRoutes;多起点/终点通行时间用 CalculateRouteMatrix;服务区(时间内可达范围)用 CalculateIsolines。
- 认证选择:Maps/Places/Routes 用 API Key;Geofencing/Tracking 用 Cognito;服务端和 AWS SDK 场景用 IAM 权限(AWS 凭证/角色)。
- 配置 API Key 的 AllowActions 时使用 geo-maps:、geo-places:、geo-routes: 前缀(如 geo-places:Geocode、geo-routes:CalculateRoutes),不要用 SDK 客户端名或 IAM 风格 action,也不要用旧版 geo: 前缀(仅适用于预创建资源)。
- 无资源 API Key 权限配置:Maps 用 geo-maps:GetTile、geo-maps:GetStaticMap,资源为 arn:aws:geo-maps:REGION::provider/default;Places 用 geo-places:Autocomplete/Geocode/ReverseGeocode/SearchText/SearchNearby/Suggest/GetPlace,资源为 arn:aws:geo-places:REGION::provider/default;Routes 用 geo-routes:CalculateRoutes/CalculateRouteMatrix/CalculateIsolines/OptimizeWaypoints/SnapToRoads,资源为 arn:aws:geo-routes:REGION::provider/default。
- 初始化地图时直接把 URL 传给 MapLibre(https://maps.geo.{region}.amazonaws.com/v2/styles/Standard/descriptor?key={apiKey}),不要调用 GetStyleDescriptor API。
- 在 MapLibre Map 构造函数中始终设置 validateStyle: false,以加快 Amazon Location 样式的加载速度。
- Autocomplete 结果展示时始终显示 Address.Label,不要用 Title(Title 可能顺序颠倒,不适合面向用户)。
- 处理 GetPlace 返回的 Address 对象时按嵌套结构访问(如 Region.Code、Region.Name、Country.Code2),不要当作扁平字符串。
- 引用 API 时使用 service:Operation 格式(如 geo-places:Geocode、geo-maps:GetStyleDescriptor),SDK 客户端用 @aws-sdk/client-* 格式。
- 默认选择(除非用户明确要求):地图样式用 Standard;坐标格式用 [longitude, latitude](GeoJSON 顺序)。
- 需要详细 API 参数或服务能力时,获取 llms.txt 资源:开发者指南 https://docs.aws.amazon.com/location/latest/developerguide/llms.txt,API 参考 https://docs.aws.amazon.com/location/latest/APIReference/llms.txt。
- 可集成 AWS MCP Server 访问 AWS 文档、API 参考和直接 API 交互;使用非默认区域时在 MCP 配置 args 中加入 "--metadata", "AWS_REGION=<your-region>"。
- 按需加载参考文件:address-input.md、address-verification.md、calculate-routes.md、dynamic-map.md、places-search.md、web-javascript.md。
适用边界 · 注意事项
- Google Maps、Mapbox 或 Leaflet-with-OSM 项目(除非正在迁移到 Amazon Location)。
- 没有 AWS 上下文的通用 GIS 操作。
- 非 AWS 的地理空间服务。