laoyang
|
7bc26dd7e1
|
地点联想:改用鸿蒙自带 Map Kit,不再走高德 laoyang/FamilyBook#33
用户指示「端侧不用高德,用鸿蒙自带的接口」。
改用 @kit.MapKit 的 site.queryAutoComplete(),顺带解决原方案两个问题:
① 高德 Web 服务 key 是服务端密钥,本不该出现在客户端;
② 线上那个 key 实际是 JS API 类型、调 Web 服务接口一直失败(见 #33 排查记录)。
现在端上不需要任何外部 key,也不需要我们自己的服务端接口与配额。
改动:
- FbGeoRepo:site.queryAutoComplete({query}) -> sites[]
取 name + formatAddress + location。
formatAddress 的 SDK 注释原文是 "Formatted detailed address of a place",
正是用户要的「作为参考的详细地址」。
formatAddress 缺失时用 locality + streetName + streetNumber 兜底。
- FbAddrInput:去掉 token 参数(MapKit 鉴权走 AGC 应用认证,与 API 令牌无关)。
- FbEventEditSheet / FbTripNodeSheet:两处调用同步去掉 token。
错误码全部降级为空结果、不打扰用户(声明文件列明的):
- 1002600003 App authentication failed
- 1002600004 The Map permission is not enabled
- 1002603001 Zero result(查不到,属正常业务结果,不刷错误日志)
- 1002600002 Failed to connect to the Map Kit server
联想挂掉 => 退化成普通文本框,手敲照常保存。
字段名一律以声明文件 @hms.core.map.site.d.ts 为准:
StreetNumber 的字段是 streetName / streetNumber,
第一版凭印象写成 street / number,编译直接报
"Property 'street' does not exist on type 'StreetNumber'",已修正。
编译通过(33 tasks,17 executed)。
|
2026-10-30 08:12:15 +08:00 |
|