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

PowerApps中AzureMap的ShapeGeoJSONObjects输入报错求助

解决PowerApp中Azure Maps ShapeGeoJSONObjects的输入报错问题

问题定位

PowerApps公式栏对JSON字符串的格式要求严格,你遇到的Literal text expected报错,核心原因是直接输入的JSON未按PowerApps语法规则处理——换行和未转义的双引号会触发语法校验失败,而非JSON本身结构不合法。

解决方案

方案1:转义双引号并压缩为单行

将JSON压缩成单行,同时把每个双引号"替换为""(PowerApps中字符串内的双引号需双写转义),直接赋值给ShapeGeoJSONObjects:

"{ ""type"": ""FeatureCollection"", ""features"": [ { ""type"": ""Feature"", ""properties"": {}, ""geometry"": { ""coordinates"": [ [19.788919073542417,51.28900932857681], [10.528659987309936,51.401502233484564], [10.60617848378385,51.180376270347864], [9.840399490293748,51.051050541744104], [9.808220194372495,51.30107933916048] ], ""type"": ""LineString"" } } ] }"

方案2:用ParseJSON函数解析

如果需要保留JSON可读性,先将转义后的JSON存入变量,再解析后传入:

  1. 在屏幕OnVisible事件中设置全局变量:
    Set(varGeoJSON, "{ ""type"": ""FeatureCollection"", ""features"": [ { ""type"": ""Feature"", ""properties"": {}, ""geometry"": { ""coordinates"": [ [19.788919073542417,51.28900932857681], [10.528659987309936,51.401502233484564], [10.60617848378385,51.180376270347864], [9.840399490293748,51.051050541744104], [9.808220194372495,51.30107933916048] ], ""type"": ""LineString"" } } ] }")
    
  2. 在Azure Maps控件的ShapeGeoJSONObjects属性中输入:
    ParseJSON(varGeoJSON)
    

方案3:数据源引用注意事项

如果引用表格中的JSON字段,需满足:

  • 字段数据类型为文本
  • 字段内JSON格式完全合法(无多余逗号、缺失引号)
  • 引用时使用ParseJSON(YourTable.JSONColumn)而非直接绑定

验证步骤

  1. 在公式栏单独测试ParseJSON(转义后的JSON字符串),确认返回有效JSON对象
  2. 将验证通过的对象赋值给ShapeGeoJSONObjects,检查地图是否正常加载图形

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.12 20:22:27