OpenLayers ol/interaction/Link自定义参数读取问题
解决OpenLayers Link交互自定义参数读取问题
你用link.update('ext', map.getView().calculateExtent(map.getSize()))成功更新URL参数后,不能用link.get('ext')读取自定义参数——原因是get()方法仅用于获取Link交互的内置配置属性(如projection、onUpdate),而非自定义URL参数。正确读取方式有两种:
方法1:通过Link的getParams()方法获取
getParams()会返回当前所有同步到URL的参数对象,直接从中提取自定义参数即可:
// 获取所有URL参数 const linkParams = link.getParams(); // 读取ext参数 const ext = linkParams.ext; // 若ext是范围数组(四个数值),可转为数字数组 const extArray = ext ? ext.split(',').map(Number) : [];
方法2:直接解析当前URL的查询字符串
自定义参数已经同步到URL的查询部分,可通过URLSearchParams直接解析:
const urlParams = new URLSearchParams(window.location.search); const ext = urlParams.get('ext'); // 转为数字数组(按需处理) const extArray = ext ? ext.split(',').map(Number) : [];
内容的提问来源于stack exchange,提问作者Egge-Jan Pollé
相关产品推荐
相关产品推荐

