WebApp快捷打包
高德定位

敬告:此 DEMO 演示为开放测试页面,仅用于开发者快速测试体验应用功能,请严格遵守开发者协议,了解更多

JS-SDK,下载最新版 jsBridge-v20210730.zip,请在页面上调用 jsBridge 接口之前引用 jsbridge-mini.js 库。

getCurrentPosition 获取当前位置

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

$("#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,
  //可选,连续定位通知栏标题,默认为应用名称
  notifyTitle  : "",
  //可选,连续定位通知栏内容
  notifyContent: "持续定位中..."
}, function(succ, data) {
  result.JSONView({
    succ: succ,
    data: data
  });
});
/*
示例定位结果(模拟数据):
{
  "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"
}
*/

getCurrentPosition 仅使用 GPS 定位

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
  });
});

getCurrentPosition 实时连续定位

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

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,
  notifyTitle  : "我的APP",
  notifyContent: "持续定位中..."
}, function(succ, data){
  cnt.text("第几次位置变化通知: " + (++i));
  result.JSONView({
    succ: succ,
    data: data
  });
});

stop 停止定位

停止定位

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

定位结果 (position 回调参数):