点击按钮无法打开含OpenStreetMap的面板(Creatio与OSM问题)
解决OpenStreetMap面板加载失败的问题
问题分析
控制台报错提示无法读取undefined的属性'then',结合代码来看,核心问题出在地图配置冲突或参数格式错误,导致MapsUtilities内部逻辑执行异常,无法完成地图初始化。
修复方案
- 移除配置冲突:你同时开启了
useCurrentUserLocation: true(自动获取当前位置)和设置了固定坐标(gpsE/gpsN/address),这会让组件逻辑混乱,需二选一配置。 - 修正参数类型:
gpsE和gpsN需为数字类型,而非字符串。 - 调整后的代码:
{ showMapContainer: function() { var mapsConfig = { mapsData: [] }; // 方案1:使用当前用户位置 mapsConfig.mapsData.push({ content: "<h2>Check-In</h2>", useCurrentUserLocation: true, isCoordsItem: true }); // 方案2:使用固定坐标(若不需要自动定位) // mapsConfig.mapsData.push({ // content: "<h2>Check-In</h2>", // gpsE: 0.0, // gpsN: 0.0, // isCoordsItem: true, // useCurrentUserLocation: false // }); MapsUtilities.open({ mapsConfig: mapsConfig, scope: this }); } }
额外排查点
- 确认
MapsUtilities已正确引入,无拼写错误。 - 若使用自动定位,检查浏览器是否授予了定位权限。
- 查阅
MapsUtilities的官方文档,确认mapsConfig是否有遗漏的必填参数(比如地图容器ID、地图初始缩放级别等)。
内容的提问来源于stack exchange,提问作者gabrielcassimiro
相关产品推荐
相关产品推荐

