azure-maps - Azure Maps - 无法在没有浏览器警告的情况下从点属性设置图层选项“偏移”
问题描述
我正在尝试使用与地图上点(标记)位置相关的文本标签的偏移参数。
在我的应用程序中,用户将他们的偏好设置为 x 和 y 轴偏移值,当更改时,会更新地图点属性。然后,在更新点图层选项时,我需要使用数据驱动的表达式从每个地图点属性中提取值。
首次创建点时,点的偏移属性设置如下:
offset: [0, 0],
更新点层时,我尝试使用下面的表达式公式,但是如果没有在浏览器调试控制台中收到警告,它们都无法正常工作。
layers.pointLayer.setOptions({
iconOptions: {
offset: [ // ******NEEDS FIXING*******
'case', // Use a conditional case expression.
['has', 'offset'], // Check to see if feature has an "offset" property
//["length", ["array", ["get", "offset"]]] // not working
['get', 'offset'], // not working without browser warning
//['get', ['literal', [0, 0]]], // not working
//['literal', [0,0]], // working but not relevant, set locally, not pulling value from properties!!!
'literal', [0, 0]] // If it doesn't, default to array [0,0] (x & y-axis).
]
}
})
如果在表达式中使用示例 ['get', 'offset'],虽然我实际上可以修改偏移量并且它在地图上工作,如屏幕截图所示,但我在浏览器调试控制台中收到以下警告:
我希望有一个无警告环境作为任何调试警告。在设置图层选项(第二个代码示例)时,我显然需要在数据驱动表达式中正确设置格式,但到目前为止我尝试过的所有语法都没有正常工作。
我也尝试在这里研究 MS 示例,但似乎他们实际上并没有从地图点属性中提取偏移值,而是直接从用户表单设置图层选项,除非我想实现全局更改,否则这是不好的对于属于该特定层的所有点。
解决方案
推荐阅读
- json - json文件更改时我有json文件我需要在python控制台中显示更改
- javascript - 打印清单
- pandoc - 从 docx 转换为 markdown 如何摆脱链接中的跨度下划线?
- node.js - 如何通过sequelize在where语句中使用db函数
- tableview - 如何在颤振中实现这样的表格视图?
- c# - 无法使用字符串值更新 JSON 节点
- java - Jersey 客户端无法反序列化为对象
- php - PHP - 在文本文件中搜索字符串并将整行转换为数组
- javascript - 无法读取未定义的属性'address_1' - React
- java - 如何在 Java 中通过 gradle 使用谷歌云 API