# ns-baidu-location **Repository Path**: hopper/ns-baidu-location ## Basic Information - **Project Name**: ns-baidu-location - **Description**: nativeScript 百度定位插件 - **Primary Language**: JavaScript - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 4 - **Created**: 2017-03-28 - **Last Updated**: 2020-12-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README #### nativeScript 百度定位插件 版本 0.0.1 作者 spzhao Email spzhaol@163.com 百度定位sdk版本 7.0 ### 添加插件 - 该插件未添加到npm,需要先clone到本地,再添加到项目中 - git clone https://git.oschina.net/spzhao/ns-baidu-location.git - 修改百度定位的AK: - 编辑platform/android/AndroidManifest.xml - ![修改百度AK](http://git.oschina.net/uploads/images/2017/0327/172317_e5971789_73723.png "修改百度AK") - 替换 BAIDU_API_KEY 为你申请的AK - 在项目目录下:`tns plugin add file/to/plugin/path` ### 使用 #### 配合 nativescript-permissions 使用 优点:如果未授权,会提示授权定位,同意后进行定位 添加 nativescript-permissions 插件: `tns plugin add nativescript-permissions` ``` var permissions = require( "nativescript-permissions" ); var baiduMap = require("baidu-location") permissions.requestPermission(android.Manifest.permission.ACCESS_FINE_LOCATION, "") .then(function() { baiduMap.getPosition() .then(function(pos){ ... }) .catch(function(err){ ... }) }) .catch(function() { console.log("permission denied"); }); ``` #### 直接使用 缺点:如果未授权,会提示授权,但是授权后需要再执行一次才会进行定位 ``` var baiduMap = require("baidu-location") baiduMap.getPosition() .then(function(pos){ ... }) .catch(function(err){ ... }) ``` #### 返回数据 - 类型: json ``` { addr: '位置信息', locType: '返回类型', // 具体返回类型可以查看百度官方说明 latitude: 'latitude', longitude: 'longitude', radius: '误差半径' } ``` [查看百度定位AndroidSDK错误码](http://lbsyun.baidu.com/index.php?title=android-locsdk/guide/ermsg)