You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Tasker中提取Azure Maps API返回的streetNameAndNumber字段问题

解决Tasker中提取Azure Maps反向地址数据的问题

正确的Javascriplet代码

首先要解析Tasker返回的JSON字符串,并正确定位streetNameAndNumber字段的层级(Azure Maps反向地址搜索的结果通常嵌套在addresses数组内):

// 解析HTTP请求返回的JSON字符串
var addressResponse = JSON.parse(http_data);

// 提取街道名称及门牌号(适配Azure Maps标准返回结构)
var streetDetail = addressResponse.addresses[0].address.streetNameAndNumber;

// 将结果赋值给Tasker变量%streetNameAndAddress
global.set("streetNameAndAddress", streetDetail);

关键注意事项

  • 解析JSON字符串:Tasker的%http_data是原始JSON文本,必须用JSON.parse()转换为可操作的对象,否则无法直接提取字段。
  • 确认字段路径:如果你的Azure Maps返回结构有差异,先通过Tasker的Flash动作输出%http_data,查看实际JSON层级,调整代码中的字段路径。
  • 空值处理(可选):为避免播报空内容,可添加兜底逻辑:
    var streetDetail = "无法获取当前地址";
    if (addressResponse.addresses && addressResponse.addresses.length > 0) {
        var addr = addressResponse.addresses[0].address;
        streetDetail = addr.streetNameAndNumber || "无法获取街道及门牌号";
    }
    global.set("streetNameAndAddress", streetDetail);
    
  • 变量赋值规则:在Tasker的Javascriplet中,使用global.set("变量名", 值)赋值,变量名无需加%,Tasker会自动映射为%streetNameAndAddress。

内容的提问来源于stack exchange,提问作者ORDIsBack

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.03 07:14:59