FineReport手机端获取当前定位信息

一 FineReport手机端界面

在这里插入图片描述

二 FineReport设计界面

在这里插入图片描述
JS脚本

FR.location(function (status, message, coordinate) {
    if (status == 'success') {
        var messageArray = message.split(',');
        var latitude = messageArray[0];
        var longitude = messageArray[1];
        var coordinateType = 1;
        // 1代表的是待转换的坐标系为地球坐标系标准, iosApp定位返回该坐标系坐标。
        if (coordinate === 'GCJ02') {
        // 3代表的是待转换的坐标系为火星坐标系标准, 安卓App定位返回该坐标系坐标。
            coordinateType = 3;
        }
        var conv = 'http://api.map.baidu.com/geoconv/v1/?ak=Metx6hM5qVsQ1njvacbrl0KffSN7l&coords=' + longitude + ',' + latitude + '&from=' + coordinateType + '&to=5&output=json';
       
        // 第一次请求通过百度提供的接口和不同设备的坐标系信息, 转换成百度地图坐标系坐标。
        FR.ajax({
            url: conv,
            dataType: 'jsonp', //跨域采用jsonp方式。
            jsonp: 'callback',
            success: function (data) {
                longitude = data.result[0].x.toFixed(6);
                // FR.Msg.alert("百度经纬度---:" + longitude);
                latitude = data.result[0].y.toFixed(6);
                //FR.Msg.alert("百度经纬度---:" + latitude);
 
                url = 'https://api.map.baidu.com/reverse_geocoding/v3/?ak=Metx6hM5qSTpV1njvacbrl0KffSN7l&output=json&location=' + latitude + ',' + longitude + '&coordtype=wgs84ll';
//                 FR.Msg.alert("请求地址", url);
                // 第二次请求获取在百度地图上的定位信息。
                FR.ajax({
                    url: url,
                    dataType: 'jsonp', //跨域采用jsonp方式。
                    jsonp: 'callback',
                    success: function (data) {
                        var country = data.result.addressComponent.country;
                        var province = data.result.addressComponent.province;
                        var city = data.result.addressComponent.city;
                        var district = data.result.addressComponent.district;
                        var town = data.result.addressComponent.town;
                        var street = data.result.addressComponent.street;
                        var street_number = data.result.addressComponent.street_number;
                        FR.Msg.alert('地址:', country + province + city + district + town + street + street_number);
                        _g().setCellValue(3,11,country + province + city + district + town + street + street_number);
                    },
                });
 
            },
        });
    } else {
        FR.Msg.alert('Error');
    }
});

三、百度地图接口调用

1 根据坐标逆向解析地址接口

https://api.map.baidu.com/reverse_geocoding/v3/?ak=Metx6hM5qSTsQ1njvacbrl0KffSN7l&output=json&coordtype=wgs84ll&location=34.29461,117.60918
在这里插入图片描述
相关文章:https://lbs.baidu.com/faq/api?title=webapi/guide/webservice-geocoding-abroad-base

2 坐标转换接口

http://api.map.baidu.com/geoconv/v1/?coords=114.892734521,29.5429778924&from=1&to=5&ak=Metx6hM5qSTpVsQvacbrl0KffSN7l
在这里插入图片描述

四、相关附件

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值