Skip to content

H5集成API

1、开始使用

​ 说明:支持微信小程序端、支付宝小程序端定位集成开发。

1.1 引入SDK

javascript
// 引入sdk
<script src="//brtmap.com/js-sdk/geo/brtloc-3.3.5.js"></script>

1.2 创建实例

javascript
// 您的建筑ID
let buildingID = '';
// 建筑token
let token = '';

// 实例
let $locate = new brtloc.Location({
    // 定位模式(hash无刷新定位)
    wechatMode: "hash",
    //
    buildingID: buildingID,
    //
    token: token
});

1.3 监听定位点

javascript
// 监听定位点
$locate.on('location', point => {
    console.log('location', point);
});

1.4 监听指南针罗盘

javascript
// 罗盘(返回指南针方向)
$locate.on('compass', angle => {
    console.log('compass', angle);
});

2、完整示例

2.1 基于微信小程序示例:

html
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="utf-8">
    <title> 基于微信小程序 </title>
    <script src="//brtmap.com/js-sdk/geo/brtloc-3.3.5.js"></script>
</head>
<body>
</body>

<!--hash变化无刷新定位-->
<script>
	// 获取用户唯一定位ID
	let userId = brtloc.GetParams('userId');
    let buildingID = '填写建筑ID';
    let token = '填写有效token';

    // 实例
    let $locate = new brtloc.Location({
    	userId: userId,
        wechatMode: "hash",
        buildingID: buildingID,
        token: token
    });

    // 监听定位点
    $locate.on('location', point => {
        console.log('location', point);
    });
    
    // 指南针
    $locate.on('compass', angle => {
        console.log('compass', angle);
    });

</script>
    
<!--http 服务端走服务端定位方式-->
<--<script>
	// 获取用户唯一定位ID
	let userId = brtloc.GetParams('userId');
    let buildingID = '填写建筑ID';
    let token = '填写有效token';

    // 实例
    let $locate = new brtloc.Location({
        userId: userId,
    	wechatMode: "http",
        buildingID: buildingID,
        token: token
    });

    // 监听定位点
    $locate.on('location', point => {
        console.log('location', point);
    });
    
    // 指南针
    $locate.on('compass', angle => {
        console.log('compass', angle);
    });
</script>-->
</html>

2.2 基于支付宝小程序示例:

html
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="utf-8">
    <title> 基于支付宝小程序 </title>
    <script src="//brtmap.com/js-sdk/geo/brtloc-3.3.5.js"></script>
	<script>
        // 获取终端信息
        let system = brtloc.GetSystem();
        // 加载支付宝小程序内嵌的js
        if (system.env === 'alipay') {
            document.writeln('<script src="//appx/web-view.min.js"' + '>' + '<' + '/' + 'script>');
        }
    </script>
</head>
<body>
</body>

<script>
        
    let buildingID = '填写建筑ID';
    let token = '填写有效token';

    let $locate = new brtloc.Location({
        buildingID: buildingID,
        token: token
    });

    // 监听定位点
    $locate.on('location', point => {
        console.log('location', point);
    });
    
    // 指南针
    $locate.on('compass', angle => {
        console.log('compass', angle);
    });

</script>
</html>

2.3 基于原生开发APP示例:

html
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="utf-8">
    <title> 基于原生开发APP </title>
    <script src="//brtmap.com/js-sdk/geo/brtloc-3.3.5.js"></script>
</head>
<body>
</body>

<script>
    let buildingID = '填写建筑ID';
    let token = '填写有效token';

    let $locate = new brtloc.Location({
        buildingID: buildingID,
        token: token
    });

    // 监听定位点
    $locate.on('location', point => {
        console.log('location', point);
    });
    
    // 指南针
    $locate.on('compass', angle => {
        console.log('compass', angle);
    });

</script>
</html>

3、API

3.1 brtloc

NameTypeDescription
LocationFunction定位实例化
ConfigObject配置默认参数
GetSystemFunction获取系统信息(只包含ios、android)与系统版本
GetParams(name)Function获取url参数
RandomUserId()Function随机一个字符串
versionString当前定位版本

Location

javascript
new brtloc.Loaction(options:object);

Config

javascript
// beacons点位服务
brtloc.Config.tile;

GetSystem

javascript
// 获取系统信息
let system = brtloc.GetSystem();
console.log('system', system); // {platform, version, brand, env}

GetParams

javascript
// 获取URL地址的参数
let name = brtloc.GetParams('name');

RandomUserId

javascript
// 随机一个字符串用于userId
let userId = brtloc.RandomUserId();

3.2 Parameters -> Options

NameTypeDefaultDescription
userIdStringnull在微信小程序环境时 必填
buildingIDStringnull地图建筑ID
tokenStringnull地图有效token
wechatModeStringhash定位模式 (hash | http)
coordTypeStringGCJO2当开启GPS定位时有效 (GCJ02 | BD09 | WGS84)
routeSnapStringfalse是否开启地图路网吸附(室外无效)
minRssiString-88限制beacon信号最小值
maxRssiString-15限制beacon信号最大值
initAngleNumber0校正指南针偏差
floorDelayms2000定位楼层切换延迟 (毫秒级)
compassDelayms200指南针回调频率 (毫秒级)
GPSBooleanfalse开启H5 GPS定位 (根据coordType设置返回对应坐标系)
debugBooleanfalse定位调试(统计定位数据到云端、用于定位分析优化)
collectBooleanfalse定位信息采集

4.3 Instance Members

NameDescription
beaconAnalysis(beacons)分析扫描的beacons
setPriorityFloor(floor)定位时,设置优先楼层计算定位(设置一次3秒后自动置空)
getBeaconRealFloor()获取实时beacon定位楼层
reset()清除定位缓存,重新计算定位。
on(type, function)监听
once(type, function)只监听一次
off(type, function)移除监听

4.4 Events

NameDescription
ready准备完毕
location实时定位点
beacons分析后的有效beacons