在普通报表中,我想通过app获取经纬度填入F2/G2,然后设置地图中心点经纬度自动读取为F2/G2

app获取经纬度没有问题,但是随后地图中心点经纬度无法读取成功,但是F2/G2格如果提前读取MySQL经纬度数据,中心点就可以读取成功7f4f999d-2396-47af-a2dc-648105a45b98.png

1.app获取经纬度填入F2/G2,是通过模板web属性,加载启始

// 移除最外层多余的 function(){}

function beforePromise(resolve, reject) {

    FR.location(function (status, msg) {

        if (status === 'success') {

            // 拆分经纬度(假设返回格式为"纬度,经度")

            const [latitude, longitude] = msg.split(',');

            // 填入对应单元格

            contentPane.setCellValue('G2', latitude); // 纬度填G2

            contentPane.setCellValue('F2', longitude); // 经度填F2

            resolve(true); // 允许提交

        } else {

            FR.Msg.alert('定位失败', msg);

            reject(false); // 阻止提交

        }

    });

}

// 若在提交事件中使用,需补充调用逻辑(假设当前是提交前事件)

// 新增调用 beforePromise 的逻辑,将其封装为 Promise

return new Promise((resolve, reject) => {

    beforePromise(resolve, reject);

});

2.设置地图中心点经纬度自动读取为F2/G2,是通过模板web属性,加载结束

// 假设地图组件名称为map1

var map = contentPane.getWidgetByName('标准'); 

if (map) {

    // 获取中心点经纬度

    var center = map.getCenter(); 

    if (center) {

        var longitude = center.lng; 

        var latitude = center.lat; 

        // 将经度设置到D2单元格

        contentPane.setCellValue('F2', longitude); 

        // 将纬度设置到F2单元格

        contentPane.setCellValue('G2', latitude); 

    }

}

FineReport 帆软用户MdvQbhNPuc 发布于 2025-3-7 16:00
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共1回答
最佳回答
0
用户k6280494Lv6专家互助
发布于2025-3-7 16:05
  • 2关注人数
  • 14浏览人数
  • 最后回答于:2025-3-7 16:05
    请选择关闭问题的原因
    确定 取消
    返回顶部