地点联想:改用鸿蒙自带 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)。
This commit is contained in:
@@ -533,7 +533,6 @@ export struct FbEventEditSheet {
|
||||
label: '地点',
|
||||
placeholder: '地点(可选,输入后可从下拉选)',
|
||||
value: this.fPlace,
|
||||
token: this.token(),
|
||||
onValue: (v: string): void => {
|
||||
this.fPlace = v;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user