stop 停止定位 APP开发定位能力接入百度地理定位

用做网页的技术做APP
一门提供标准化的jsbridge-mini.js库,您只需要在页面引用执行JS即可实现各种原生APP、原生PC的功能能力。

==================APP端==================
【APP端】(安卓版&苹果版)目前提供200+原生功能,2000+JS映射接口,用做网站的技术即可实现各种原生APP能力、APP demo地址https://www.yimenapp.com/doc/demo.cshtml下载教程:
♦ JS-SDK 引用方式:
♦ 普通网页 script 方式加载:下载最新版,请在页面上调用 jsBridge 接口之前引用 jsbridge-mini.js 库;
♦ js module 方式引用:npm install ym-jsbridge 具体请参考 npm package
一门APP开发平台通用JS

核心代码示例,详情参阅demo

//停止定位
jsBridge.bdloc.stop();

A标签执行JS示例代码

<a href="javascript:void(0)" onclick="zhixing()">执行</a> 
<!-- 写入一个A标签href值为"javascript:void(0)",定义点击事件onclick;-->
<script src="您的服务器URL/jsbridge-mini.js"></script>
<!-- 在您的服务器引入一门JS地址,请下载jsbridge-mini.js上传您自己的服务器获取链接;-->
<script type="text/javascript">
function zhixing() {


<!--这里可以直接复制JS核心代码到此{}括号内-->
//停止定位
jsBridge.bdloc.stop();

}
</script>
<!--执行核心代码;
//如果需要进入页面就执行,去掉点击事件即可;-->

按钮执行JS示例代码

<button onclick="zhixing()" >执行</button>
<!-- //写一个按钮,定义点击执行事件; -->
<script src="您的服务器URL/jsbridge-mini.js"></script>
<!-- //在您的服务器引入一门JS地址,请下载jsbridge-mini.js上传您自己的服务器获取链接; -->
<script type="text/javascript">
function zhixing() {


<!--这里可以直接复制JS核心代码到此{}括号内-->
//停止定位
jsBridge.bdloc.stop();

}
</script>
<!-- //执行核心代码;
//如果需要进入页面就执行,去掉点击事件即可; -->

getCurrentPosition 获取当前位置 单次定位 APP开发接入百度地理定位功能

用做网页的技术做APP
一门提供标准化的jsbridge-mini.js库,您只需要在页面引用执行JS即可实现各种原生APP、原生PC的功能能力。

==================APP端==================
【APP端】(安卓版&苹果版)目前提供200+原生功能,2000+JS映射接口,用做网站的技术即可实现各种原生APP能力、APP demo地址https://www.yimenapp.com/doc/demo.cshtml下载教程:
♦ JS-SDK 引用方式:
♦ 普通网页 script 方式加载:下载最新版,请在页面上调用 jsBridge 接口之前引用 jsbridge-mini.js 库;
♦ js module 方式引用:npm install ym-jsbridge 具体请参考 npm package
一门APP开发平台通用JS

getCurrentPosition 获取当前位置 单次定位 APP开发接入百度地理定位功能

单次定位,返回 BD09ll 百度经纬度坐标,可以直接标记在百度地图上。

核心代码示例,详情参阅demo

$("#cnt").hide();
var result = $("#result").text("定位中...");    
$('html,body').animate({scrollTop: $('#view').offset().top}, 1200);

//发起定位
jsBridge.bdloc.getCurrentPosition({
  //可选,设置返回经纬度坐标类型,默认 GCJ02
  //GCJ02: 国测局坐标
  //BD09LL: 百度经纬度坐标
  //BD09: 百度墨卡托坐标
  //WGS84: GPS地心坐标
  //海外地区定位统一返回 WGS84 地心坐标
  coorType: 'BD09LL',

  //可选, 连续定位, 当位置变化时会收到回调通知, 默认 false
  //调用 jsBridge.bdloc.stop() 停止观察
  watch: false
}, function(position) {
  result.JSONView(position);
});

//示例定位结果(模拟数据):
var sample =
{
    success: true,
    locType: 161,
    locTypeDescription: "NetWork location successful!",
    coorType: "bd09ll",
    //纬度
    latitude: 30.596578,
    //经度
    longitude: 103.923732,
    altitude: 5e-324,
    adCode: "510122",
    streetNumber: "",
    street: "蜀都大道人民东路",
    district: "成华区",
    city: "成都市",
    cityCode: "75",
    province: "四川省",
    country: "中国",
    countryCode: "0",
    locationDescribe: "天府广场附近",
    //周边信息
    poi: [{
        id: "624481706965053890",
        name: "天府广场",
        reliability: 0.99
    }, {
        id: "11831156867791473252",
        name: "四川科技馆",
        reliability: 0.99
    }, {
        id: "17660247562227023871",
        name: "锦城艺术宫",
        reliability: 0.99
    }, {
        id: "9997345703234431722",
        name: "仁和春天百货",
        reliability: 0.99
    }, {
        id: "17995585118206427135",
        name: "成都博物馆新馆",
        reliability: 0.99
    }],
    locationID: "r_Oy4Dz7t_fp9uDz-tTxgrji7uzp6-bo4bO2xeW3tbPUif7626qv-tH19vOjdaeDMz9fDzNfBlIaRxZ6WkLbs7N3ClBwO"
};

A标签执行JS示例代码

<a href="javascript:void(0)" onclick="zhixing()">执行</a> 
<!-- 写入一个A标签href值为"javascript:void(0)",定义点击事件onclick;-->
<script src="您的服务器URL/jsbridge-mini.js"></script>
<!-- 在您的服务器引入一门JS地址,请下载jsbridge-mini.js上传您自己的服务器获取链接;-->
<script type="text/javascript">
function zhixing() {


<!--这里可以直接复制JS核心代码到此{}括号内-->
$("#cnt").hide();
var result = $("#result").text("定位中...");    
$('html,body').animate({scrollTop: $('#view').offset().top}, 1200);

//发起定位
jsBridge.bdloc.getCurrentPosition({
  //可选,设置返回经纬度坐标类型,默认 GCJ02
  //GCJ02: 国测局坐标
  //BD09LL: 百度经纬度坐标
  //BD09: 百度墨卡托坐标
  //WGS84: GPS地心坐标
  //海外地区定位统一返回 WGS84 地心坐标
  coorType: 'BD09LL',

  //可选, 连续定位, 当位置变化时会收到回调通知, 默认 false
  //调用 jsBridge.bdloc.stop() 停止观察
  watch: false
}, function(position) {
  result.JSONView(position);
});

//示例定位结果(模拟数据):
var sample =
{
    success: true,
    locType: 161,
    locTypeDescription: "NetWork location successful!",
    coorType: "bd09ll",
    //纬度
    latitude: 30.596578,
    //经度
    longitude: 103.923732,
    altitude: 5e-324,
    adCode: "510122",
    streetNumber: "",
    street: "蜀都大道人民东路",
    district: "成华区",
    city: "成都市",
    cityCode: "75",
    province: "四川省",
    country: "中国",
    countryCode: "0",
    locationDescribe: "天府广场附近",
    //周边信息
    poi: [{
        id: "624481706965053890",
        name: "天府广场",
        reliability: 0.99
    }, {
        id: "11831156867791473252",
        name: "四川科技馆",
        reliability: 0.99
    }, {
        id: "17660247562227023871",
        name: "锦城艺术宫",
        reliability: 0.99
    }, {
        id: "9997345703234431722",
        name: "仁和春天百货",
        reliability: 0.99
    }, {
        id: "17995585118206427135",
        name: "成都博物馆新馆",
        reliability: 0.99
    }],
    locationID: "r_Oy4Dz7t_fp9uDz-tTxgrji7uzp6-bo4bO2xeW3tbPUif7626qv-tH19vOjdaeDMz9fDzNfBlIaRxZ6WkLbs7N3ClBwO"
};

}
</script>
<!--执行核心代码;
//如果需要进入页面就执行,去掉点击事件即可;-->

按钮执行JS示例代码

<button onclick="zhixing()" >执行</button>
<!-- //写一个按钮,定义点击执行事件; -->
<script src="您的服务器URL/jsbridge-mini.js"></script>
<!-- //在您的服务器引入一门JS地址,请下载jsbridge-mini.js上传您自己的服务器获取链接; -->
<script type="text/javascript">
function zhixing() {


<!--这里可以直接复制JS核心代码到此{}括号内-->
$("#cnt").hide();
var result = $("#result").text("定位中...");    
$('html,body').animate({scrollTop: $('#view').offset().top}, 1200);

//发起定位
jsBridge.bdloc.getCurrentPosition({
  //可选,设置返回经纬度坐标类型,默认 GCJ02
  //GCJ02: 国测局坐标
  //BD09LL: 百度经纬度坐标
  //BD09: 百度墨卡托坐标
  //WGS84: GPS地心坐标
  //海外地区定位统一返回 WGS84 地心坐标
  coorType: 'BD09LL',

  //可选, 连续定位, 当位置变化时会收到回调通知, 默认 false
  //调用 jsBridge.bdloc.stop() 停止观察
  watch: false
}, function(position) {
  result.JSONView(position);
});

//示例定位结果(模拟数据):
var sample =
{
    success: true,
    locType: 161,
    locTypeDescription: "NetWork location successful!",
    coorType: "bd09ll",
    //纬度
    latitude: 30.596578,
    //经度
    longitude: 103.923732,
    altitude: 5e-324,
    adCode: "510122",
    streetNumber: "",
    street: "蜀都大道人民东路",
    district: "成华区",
    city: "成都市",
    cityCode: "75",
    province: "四川省",
    country: "中国",
    countryCode: "0",
    locationDescribe: "天府广场附近",
    //周边信息
    poi: [{
        id: "624481706965053890",
        name: "天府广场",
        reliability: 0.99
    }, {
        id: "11831156867791473252",
        name: "四川科技馆",
        reliability: 0.99
    }, {
        id: "17660247562227023871",
        name: "锦城艺术宫",
        reliability: 0.99
    }, {
        id: "9997345703234431722",
        name: "仁和春天百货",
        reliability: 0.99
    }, {
        id: "17995585118206427135",
        name: "成都博物馆新馆",
        reliability: 0.99
    }],
    locationID: "r_Oy4Dz7t_fp9uDz-tTxgrji7uzp6-bo4bO2xeW3tbPUif7626qv-tH19vOjdaeDMz9fDzNfBlIaRxZ6WkLbs7N3ClBwO"
};

}
</script>
<!-- //执行核心代码;
//如果需要进入页面就执行,去掉点击事件即可; -->

stop 停止定位 APP开发高德定位能力 APP接入高德定位SDK

用做网页的技术做APP
一门提供标准化的jsbridge-mini.js库,您只需要在页面引用执行JS即可实现各种原生APP、原生PC的功能能力。

==================APP端==================
【APP端】(安卓版&苹果版)目前提供200+原生功能,2000+JS映射接口,用做网站的技术即可实现各种原生APP能力、APP demo地址https://www.yimenapp.com/doc/demo.cshtml下载教程:
♦ JS-SDK 引用方式:
♦ 普通网页 script 方式加载:下载最新版,请在页面上调用 jsBridge 接口之前引用 jsbridge-mini.js 库;
♦ js module 方式引用:npm install ym-jsbridge 具体请参考 npm package
一门APP开发平台通用JS

stop 停止定位 APP开发高德定位能力 APP接入高德定位SDK

核心代码示例,详情参阅demo

//停止定位
jsBridge.amapLoc.stop();

A标签执行JS示例代码

<a href="javascript:void(0)" onclick="zhixing()">执行</a> 
<!-- 写入一个A标签href值为"javascript:void(0)",定义点击事件onclick;-->
<script src="您的服务器URL/jsbridge-mini.js"></script>
<!-- 在您的服务器引入一门JS地址,请下载jsbridge-mini.js上传您自己的服务器获取链接;-->
<script type="text/javascript">
function zhixing() {


<!--这里可以直接复制JS核心代码到此{}括号内-->
//停止定位
jsBridge.amapLoc.stop();

}
</script>
<!--执行核心代码;
//如果需要进入页面就执行,去掉点击事件即可;-->

按钮执行JS示例代码

<button onclick="zhixing()" >执行</button>
<!-- //写一个按钮,定义点击执行事件; -->
<script src="您的服务器URL/jsbridge-mini.js"></script>
<!-- //在您的服务器引入一门JS地址,请下载jsbridge-mini.js上传您自己的服务器获取链接; -->
<script type="text/javascript">
function zhixing() {


<!--这里可以直接复制JS核心代码到此{}括号内-->
//停止定位
jsBridge.amapLoc.stop();

}
</script>
<!-- //执行核心代码;
//如果需要进入页面就执行,去掉点击事件即可; -->

getCurrentPosition 实时连续定位 APP开发高德定位 实现连续定位能力

用做网页的技术做APP
一门提供标准化的jsbridge-mini.js库,您只需要在页面引用执行JS即可实现各种原生APP、原生PC的功能能力。

==================APP端==================
【APP端】(安卓版&苹果版)目前提供200+原生功能,2000+JS映射接口,用做网站的技术即可实现各种原生APP能力、APP demo地址https://www.yimenapp.com/doc/demo.cshtml下载教程:
♦ JS-SDK 引用方式:
♦ 普通网页 script 方式加载:下载最新版,请在页面上调用 jsBridge 接口之前引用 jsbridge-mini.js 库;
♦ js module 方式引用:npm install ym-jsbridge 具体请参考 npm package
一门APP开发平台通用JS

getCurrentPosition 实时连续定位 APP开发高德定位 实现连续定位能力

1. watch 参数设为 true 即为实时连续定位,当用户位置发生变化时会收到回调通知;

2. Android 8 以上会在手机状态通知栏放置持续定位的前台服务通知,以降低应用被系统杀掉的概率;部分设备默认禁止了 APP 通知,可打包 本地通知 插件,调用 jsBridge.notification.requestAuth 检查是否开启了通知权限,如果没有通知权限可调用 jsBridge.appSettings() 引导用户开启权限;

3. Android 10 以上系统会申请后台定位权限(ACCESS_BACKGROUND_LOCATION),用户可选择 “始终允许” 或 “仅在使用该应用期间允许”;

4. Android 11 申请后台定位权限时不再出现 “始终允许” 选项,此时只能引导用户进入应用设置授予始终允许后台定位的权限;

5. 调用 jsBridge.appSettings() 可以打开应用设置;

6. 详细说明请参考 高德定位

核心代码示例,详情参阅demo

var i = 0;
var cnt = $("#cnt").show().text("");
var result = $("#result").text("定位中...");    
$('html,body').animate({scrollTop: $('#view').offset().top}, 1200);

//发起定位,开启后请拿着手机走起来
//在室外开启GPS定位会更准确
jsBridge.amapLoc.getCurrentPosition({
  watch: true,
  watchInterval: 1,
  //不需要地址信息时的定位速度更快,消耗更少的流量
  notAddress   : true,
  notifyTitle  : "我的APP",
  notifyContent: "持续定位中..."
}, function(succ, data){
  cnt.text("第 " + (++i) + " 次位置回调: ");
  result.JSONView({
    succ: succ,
    data: data
  });
});

A标签执行JS示例代码

<a href="javascript:void(0)" onclick="zhixing()">执行</a> 
<!-- 写入一个A标签href值为"javascript:void(0)",定义点击事件onclick;-->
<script src="您的服务器URL/jsbridge-mini.js"></script>
<!-- 在您的服务器引入一门JS地址,请下载jsbridge-mini.js上传您自己的服务器获取链接;-->
<script type="text/javascript">
function zhixing() {


<!--这里可以直接复制JS核心代码到此{}括号内-->
var i = 0;
var cnt = $("#cnt").show().text("");
var result = $("#result").text("定位中...");    
$('html,body').animate({scrollTop: $('#view').offset().top}, 1200);

//发起定位,开启后请拿着手机走起来
//在室外开启GPS定位会更准确
jsBridge.amapLoc.getCurrentPosition({
  watch: true,
  watchInterval: 1,
  //不需要地址信息时的定位速度更快,消耗更少的流量
  notAddress   : true,
  notifyTitle  : "我的APP",
  notifyContent: "持续定位中..."
}, function(succ, data){
  cnt.text("第 " + (++i) + " 次位置回调: ");
  result.JSONView({
    succ: succ,
    data: data
  });
});
}
</script>
<!--执行核心代码;
//如果需要进入页面就执行,去掉点击事件即可;-->

按钮执行JS示例代码

<button onclick="zhixing()" >执行</button>
<!-- //写一个按钮,定义点击执行事件; -->
<script src="您的服务器URL/jsbridge-mini.js"></script>
<!-- //在您的服务器引入一门JS地址,请下载jsbridge-mini.js上传您自己的服务器获取链接; -->
<script type="text/javascript">
function zhixing() {


<!--这里可以直接复制JS核心代码到此{}括号内-->
var i = 0;
var cnt = $("#cnt").show().text("");
var result = $("#result").text("定位中...");    
$('html,body').animate({scrollTop: $('#view').offset().top}, 1200);

//发起定位,开启后请拿着手机走起来
//在室外开启GPS定位会更准确
jsBridge.amapLoc.getCurrentPosition({
  watch: true,
  watchInterval: 1,
  //不需要地址信息时的定位速度更快,消耗更少的流量
  notAddress   : true,
  notifyTitle  : "我的APP",
  notifyContent: "持续定位中..."
}, function(succ, data){
  cnt.text("第 " + (++i) + " 次位置回调: ");
  result.JSONView({
    succ: succ,
    data: data
  });
});

}
</script>
<!-- //执行核心代码;
//如果需要进入页面就执行,去掉点击事件即可; -->

getCurrentPosition 仅使用 GPS 定位 APP开发定位能力 APP接入高德定位SDK

用做网页的技术做APP
一门提供标准化的jsbridge-mini.js库,您只需要在页面引用执行JS即可实现各种原生APP、原生PC的功能能力。

==================APP端==================
【APP端】(安卓版&苹果版)目前提供200+原生功能,2000+JS映射接口,用做网站的技术即可实现各种原生APP能力、APP demo地址https://www.yimenapp.com/doc/demo.cshtml下载教程:
♦ JS-SDK 引用方式:
♦ 普通网页 script 方式加载:下载最新版,请在页面上调用 jsBridge 接口之前引用 jsbridge-mini.js 库;
♦ js module 方式引用:npm install ym-jsbridge 具体请参考 npm package
一门APP开发平台通用JS

getCurrentPosition 仅使用 GPS 定位 APP开发定位能力 APP接入高德定位SDK

核心代码示例,详情参阅demo

var i = 0;
var cnt = $("#cnt").show().text("");
var result = $("#result").text("定位中...");    
$('html,body').animate({scrollTop: $('#view').offset().top}, 1200);

//需要在室外空旷处才能定位成功
jsBridge.amapLoc.getCurrentPosition({
  //仅使用 GPS 定位
  gpsOnly: true
}, function(succ, data){
  result.JSONView({
    succ: succ,
    data: data
  });
});

A标签执行JS示例代码

<a href="javascript:void(0)" onclick="zhixing()">执行</a> 
<!-- 写入一个A标签href值为"javascript:void(0)",定义点击事件onclick;-->
<script src="您的服务器URL/jsbridge-mini.js"></script>
<!-- 在您的服务器引入一门JS地址,请下载jsbridge-mini.js上传您自己的服务器获取链接;-->
<script type="text/javascript">
function zhixing() {


<!--这里可以直接复制JS核心代码到此{}括号内-->
var i = 0;
var cnt = $("#cnt").show().text("");
var result = $("#result").text("定位中...");    
$('html,body').animate({scrollTop: $('#view').offset().top}, 1200);

//需要在室外空旷处才能定位成功
jsBridge.amapLoc.getCurrentPosition({
  //仅使用 GPS 定位
  gpsOnly: true
}, function(succ, data){
  result.JSONView({
    succ: succ,
    data: data
  });
});
}
</script>
<!--执行核心代码;
//如果需要进入页面就执行,去掉点击事件即可;-->

按钮执行JS示例代码

<button onclick="zhixing()" >执行</button>
<!-- //写一个按钮,定义点击执行事件; -->
<script src="您的服务器URL/jsbridge-mini.js"></script>
<!-- //在您的服务器引入一门JS地址,请下载jsbridge-mini.js上传您自己的服务器获取链接; -->
<script type="text/javascript">
function zhixing() {


<!--这里可以直接复制JS核心代码到此{}括号内-->
var i = 0;
var cnt = $("#cnt").show().text("");
var result = $("#result").text("定位中...");    
$('html,body').animate({scrollTop: $('#view').offset().top}, 1200);

//需要在室外空旷处才能定位成功
jsBridge.amapLoc.getCurrentPosition({
  //仅使用 GPS 定位
  gpsOnly: true
}, function(succ, data){
  result.JSONView({
    succ: succ,
    data: data
  });
});

}
</script>
<!-- //执行核心代码;
//如果需要进入页面就执行,去掉点击事件即可; -->

getCurrentPosition 获取当前位置 APP接入高德定位 APP开发定位能力

用做网页的技术做APP
一门提供标准化的jsbridge-mini.js库,您只需要在页面引用执行JS即可实现各种原生APP、原生PC的功能能力。

==================APP端==================
【APP端】(安卓版&苹果版)目前提供200+原生功能,2000+JS映射接口,用做网站的技术即可实现各种原生APP能力、APP demo地址https://www.yimenapp.com/doc/demo.cshtml下载教程:
♦ JS-SDK 引用方式:
♦ 普通网页 script 方式加载:下载最新版,请在页面上调用 jsBridge 接口之前引用 jsbridge-mini.js 库;
♦ js module 方式引用:npm install ym-jsbridge 具体请参考 npm package
一门APP开发平台通用JS

getCurrentPosition 获取当前位置 APP接入高德定位 APP开发定位能力

单次定位,国内返回高德坐标系,可以直接标记在高德地图上,海外返回GPS坐标。

核心代码示例,详情参阅demo

$("#cnt").hide();
var result = $("#result").text("定位中...");    
$('html,body').animate({scrollTop: $('#view').offset().top}, 1200);

//发起定位单次定位(watch 为 false)
jsBridge.amapLoc.getCurrentPosition({
  //可选,定位超时时间(秒),默认30秒,建议设置为 8 - 30 之间
  timeout: 30,
  //可选,数字类型,定位模式,默认 1
  //1 高精度定位模式:同时使用网络定位和GPS定位,优先返回精度高的定位
  //2 仅设备定位模式:只使用GPS定位
  //3 低功耗定位模式:只使用网络定位
  locationMode: 1,
  //可选, 连续定位, 默认 false
  //调用 jsBridge.amapLoc.stop() 停止定位
  watch : false,
  //可选,连续定位时间间隔(秒),最低1秒,默认1
  watchInterval: 1,
  //可选,布尔类型, true = 不需要地址信息,默认 false (需要)
  //不需要地址信息时的定位速度更快,消耗更少的流量
  notAddress   : false,
  //可选,连续定位通知栏标题,默认为应用名称
  notifyTitle  : "",
  //可选,连续定位通知栏内容
  notifyContent: "持续定位中..."
}, function(succ, data) {
  result.JSONView({
    succ: succ,
    data: data
  });
});

//示例定位结果(模拟数据):
var sample = 
{
  success: true,
  //经度
  longitude: 104.04725,
  //纬度
  latitude: 30.542618,
  //海拔高度
  altitude: 0,
  //速度
  speed: 0,
  //方向角
  bearing: 0,
  //定位精度(米)
  accuracy: 29,
  //室内定位时的建筑物编号
  buildingId: "B0G21Y6JXO",
  //室内定位时的楼层
  floor: "",
  //地址
  address: "四川省成都市武侯区天府四街962号靠近佳年华·时代晶座",
  //街道
  street: "天府四街",
  //门牌号
  streetNumber: "962号",
  //区县
  district: "武侯区",
  //市
  city: "成都市",
  //省
  province: "四川省",
  //国家
  country: "中国",
  //城市编码
  cityCode: "028",
  //地区编码
  adCode: "510107",
  //定位类型,参见 https://lbs.amap.com/api/android-location-sdk/guide/utilities/location-type/
  locationType: 5,
  //poi名称
  poiName: "佳年华·时代晶座",
  //aoi名称
  aoiName: "佳年华·时代晶座",
  //GPS信号状态
  gpsAccuracyStatus: "GPS_ACCURACY_UNKNOWN",
  locationDetail: "#id:ELA==#csid:901652def094468ab9852bf21112d2fb"
}

A标签执行JS示例代码

<a href="javascript:void(0)" onclick="zhixing()">执行</a> 
<!-- 写入一个A标签href值为"javascript:void(0)",定义点击事件onclick;-->
<script src="您的服务器URL/jsbridge-mini.js"></script>
<!-- 在您的服务器引入一门JS地址,请下载jsbridge-mini.js上传您自己的服务器获取链接;-->
<script type="text/javascript">
function zhixing() {


<!--这里可以直接复制JS核心代码到此{}括号内-->
$("#cnt").hide();
var result = $("#result").text("定位中...");    
$('html,body').animate({scrollTop: $('#view').offset().top}, 1200);

//发起定位单次定位(watch 为 false)
jsBridge.amapLoc.getCurrentPosition({
  //可选,定位超时时间(秒),默认30秒,建议设置为 8 - 30 之间
  timeout: 30,
  //可选,数字类型,定位模式,默认 1
  //1 高精度定位模式:同时使用网络定位和GPS定位,优先返回精度高的定位
  //2 仅设备定位模式:只使用GPS定位
  //3 低功耗定位模式:只使用网络定位
  locationMode: 1,
  //可选, 连续定位, 默认 false
  //调用 jsBridge.amapLoc.stop() 停止定位
  watch : false,
  //可选,连续定位时间间隔(秒),最低1秒,默认1
  watchInterval: 1,
  //可选,布尔类型, true = 不需要地址信息,默认 false (需要)
  //不需要地址信息时的定位速度更快,消耗更少的流量
  notAddress   : false,
  //可选,连续定位通知栏标题,默认为应用名称
  notifyTitle  : "",
  //可选,连续定位通知栏内容
  notifyContent: "持续定位中..."
}, function(succ, data) {
  result.JSONView({
    succ: succ,
    data: data
  });
});

//示例定位结果(模拟数据):
var sample = 
{
  success: true,
  //经度
  longitude: 104.04725,
  //纬度
  latitude: 30.542618,
  //海拔高度
  altitude: 0,
  //速度
  speed: 0,
  //方向角
  bearing: 0,
  //定位精度(米)
  accuracy: 29,
  //室内定位时的建筑物编号
  buildingId: "B0G21Y6JXO",
  //室内定位时的楼层
  floor: "",
  //地址
  address: "四川省成都市武侯区天府四街962号靠近佳年华·时代晶座",
  //街道
  street: "天府四街",
  //门牌号
  streetNumber: "962号",
  //区县
  district: "武侯区",
  //市
  city: "成都市",
  //省
  province: "四川省",
  //国家
  country: "中国",
  //城市编码
  cityCode: "028",
  //地区编码
  adCode: "510107",
  //定位类型,参见 https://lbs.amap.com/api/android-location-sdk/guide/utilities/location-type/
  locationType: 5,
  //poi名称
  poiName: "佳年华·时代晶座",
  //aoi名称
  aoiName: "佳年华·时代晶座",
  //GPS信号状态
  gpsAccuracyStatus: "GPS_ACCURACY_UNKNOWN",
  locationDetail: "#id:ELA==#csid:901652def094468ab9852bf21112d2fb"
}

}
</script>
<!--执行核心代码;
//如果需要进入页面就执行,去掉点击事件即可;-->

按钮执行JS示例代码

<button onclick="zhixing()" >执行</button>
<!-- //写一个按钮,定义点击执行事件; -->
<script src="您的服务器URL/jsbridge-mini.js"></script>
<!-- //在您的服务器引入一门JS地址,请下载jsbridge-mini.js上传您自己的服务器获取链接; -->
<script type="text/javascript">
function zhixing() {


<!--这里可以直接复制JS核心代码到此{}括号内-->
$("#cnt").hide();
var result = $("#result").text("定位中...");    
$('html,body').animate({scrollTop: $('#view').offset().top}, 1200);

//发起定位单次定位(watch 为 false)
jsBridge.amapLoc.getCurrentPosition({
  //可选,定位超时时间(秒),默认30秒,建议设置为 8 - 30 之间
  timeout: 30,
  //可选,数字类型,定位模式,默认 1
  //1 高精度定位模式:同时使用网络定位和GPS定位,优先返回精度高的定位
  //2 仅设备定位模式:只使用GPS定位
  //3 低功耗定位模式:只使用网络定位
  locationMode: 1,
  //可选, 连续定位, 默认 false
  //调用 jsBridge.amapLoc.stop() 停止定位
  watch : false,
  //可选,连续定位时间间隔(秒),最低1秒,默认1
  watchInterval: 1,
  //可选,布尔类型, true = 不需要地址信息,默认 false (需要)
  //不需要地址信息时的定位速度更快,消耗更少的流量
  notAddress   : false,
  //可选,连续定位通知栏标题,默认为应用名称
  notifyTitle  : "",
  //可选,连续定位通知栏内容
  notifyContent: "持续定位中..."
}, function(succ, data) {
  result.JSONView({
    succ: succ,
    data: data
  });
});

//示例定位结果(模拟数据):
var sample = 
{
  success: true,
  //经度
  longitude: 104.04725,
  //纬度
  latitude: 30.542618,
  //海拔高度
  altitude: 0,
  //速度
  speed: 0,
  //方向角
  bearing: 0,
  //定位精度(米)
  accuracy: 29,
  //室内定位时的建筑物编号
  buildingId: "B0G21Y6JXO",
  //室内定位时的楼层
  floor: "",
  //地址
  address: "四川省成都市武侯区天府四街962号靠近佳年华·时代晶座",
  //街道
  street: "天府四街",
  //门牌号
  streetNumber: "962号",
  //区县
  district: "武侯区",
  //市
  city: "成都市",
  //省
  province: "四川省",
  //国家
  country: "中国",
  //城市编码
  cityCode: "028",
  //地区编码
  adCode: "510107",
  //定位类型,参见 https://lbs.amap.com/api/android-location-sdk/guide/utilities/location-type/
  locationType: 5,
  //poi名称
  poiName: "佳年华·时代晶座",
  //aoi名称
  aoiName: "佳年华·时代晶座",
  //GPS信号状态
  gpsAccuracyStatus: "GPS_ACCURACY_UNKNOWN",
  locationDetail: "#id:ELA==#csid:901652def094468ab9852bf21112d2fb"
}

}
</script>
<!-- //执行核心代码;
//如果需要进入页面就执行,去掉点击事件即可; -->

APP开发增加地理定位功能 腾讯定位SDK getCurrentPosition 实时连续定位

用做网页的技术做APP
一门提供标准化的jsbridge-mini.js库,您只需要在页面引用执行JS即可实现各种原生APP、原生PC的功能能力。

==================APP端==================
【APP端】(安卓版&苹果版)目前提供200+原生功能,2000+JS映射接口,用做网站的技术即可实现各种原生APP能力、APP demo地址https://www.yimenapp.com/doc/demo.cshtml下载教程:
♦ JS-SDK 引用方式:
♦ 普通网页 script 方式加载:下载最新版,请在页面上调用 jsBridge 接口之前引用 jsbridge-mini.js 库;
♦ js module 方式引用:npm install ym-jsbridge 具体请参考 npm package
一门APP开发平台通用JS

getCurrentPosition 实时连续定位

1. watch 参数设为 true 即为实时连续定位,当用户位置发生变化时会收到回调通知;

2. Android 8 以上会在手机状态通知栏放置持续定位的前台服务通知,以降低应用被系统杀掉的概率;部分设备默认禁止了 APP 通知,可打包 本地通知 插件,调用 jsBridge.notification.requestAuth 检查是否开启了通知权限,如果没有通知权限可调用 jsBridge.appSettings() 引导用户开启权限;

3. Android 10 以上系统会申请后台定位权限(ACCESS_BACKGROUND_LOCATION),用户可选择 “始终允许” 或 “仅在使用该应用期间允许”;

4. Android 11 申请后台定位权限时不再出现 “始终允许” 选项,此时只能引导用户进入应用设置授予始终允许后台定位的权限;

5. 调用 jsBridge.appSettings() 可以打开应用设置;

核心代码示例,详情参阅demo

var i = 0;
var cnt = $("#cnt").show().text("");
var result = $("#result").text("定位中...");    
$('html,body').animate({scrollTop: $('#view').offset().top}, 1200);

//发起定位,开启后请拿着手机走起来
//在室外开启GPS定位会更准确
jsBridge.qqLoc.getCurrentPosition({
  watch: true,
  watchInterval: 3,
  //不需要地址信息时的定位速度更快,消耗更少的流量
  notAddress   : true,
  notifyTitle  : "我的APP",
  notifyContent: "持续定位中..."
}, function(succ, data){
  cnt.text("第 " + (++i) + " 次位置回调: ");
  result.JSONView({
    succ: succ,
    data: data
  });
});

A标签执行JS示例代码

<a href="javascript:void(0)" onclick="zhixing()">执行</a> 
<!-- 写入一个A标签href值为"javascript:void(0)",定义点击事件onclick;-->
<script src="您的服务器URL/jsbridge-mini.js"></script>
<!-- 在您的服务器引入一门JS地址,请下载jsbridge-mini.js上传您自己的服务器获取链接;-->
<script type="text/javascript">
function zhixing() {


<!--这里可以直接复制JS核心代码到此{}括号内-->
var i = 0;
var cnt = $("#cnt").show().text("");
var result = $("#result").text("定位中...");    
$('html,body').animate({scrollTop: $('#view').offset().top}, 1200);

//发起定位,开启后请拿着手机走起来
//在室外开启GPS定位会更准确
jsBridge.qqLoc.getCurrentPosition({
  watch: true,
  watchInterval: 3,
  //不需要地址信息时的定位速度更快,消耗更少的流量
  notAddress   : true,
  notifyTitle  : "我的APP",
  notifyContent: "持续定位中..."
}, function(succ, data){
  cnt.text("第 " + (++i) + " 次位置回调: ");
  result.JSONView({
    succ: succ,
    data: data
  });
});

}
</script>
<!--执行核心代码;
//如果需要进入页面就执行,去掉点击事件即可;-->

按钮执行JS示例代码

<button onclick="zhixing()" >执行</button>
<!-- //写一个按钮,定义点击执行事件; -->
<script src="您的服务器URL/jsbridge-mini.js"></script>
<!-- //在您的服务器引入一门JS地址,请下载jsbridge-mini.js上传您自己的服务器获取链接; -->
<script type="text/javascript">
function zhixing() {


<!--这里可以直接复制JS核心代码到此{}括号内-->
var i = 0;
var cnt = $("#cnt").show().text("");
var result = $("#result").text("定位中...");    
$('html,body').animate({scrollTop: $('#view').offset().top}, 1200);

//发起定位,开启后请拿着手机走起来
//在室外开启GPS定位会更准确
jsBridge.qqLoc.getCurrentPosition({
  watch: true,
  watchInterval: 3,
  //不需要地址信息时的定位速度更快,消耗更少的流量
  notAddress   : true,
  notifyTitle  : "我的APP",
  notifyContent: "持续定位中..."
}, function(succ, data){
  cnt.text("第 " + (++i) + " 次位置回调: ");
  result.JSONView({
    succ: succ,
    data: data
  });
});

}
</script>
<!-- //执行核心代码;
//如果需要进入页面就执行,去掉点击事件即可; -->