New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

com.matrixgz.cordova-plugin-baidumaplocation

Package Overview
Dependencies
Maintainers
1
Versions
3
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

com.matrixgz.cordova-plugin-baidumaplocation

Cordova Geolocation Plugin,use Baidu Map SDK

  • 4.0.2
  • latest
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
0
decreased by-100%
Maintainers
1
Weekly downloads
 
Created
Source

百度地图定位Cordova插件,支持Android,IOS,ionic 1x 2x 均可使用

UPDATE:

  • v4.0.1 优化了ionic3x的兼容性,升级对应百度定位依赖库(v7.5@Android)
  • v3.2.0 升级对应百度定位依赖库(v7.2@Android,v3.3.4@IOS)

可以在此地址查看ionic3_example

致谢: 本插件Android开发主要参考 cordova-qdc-baidu-location,感谢liangzhenghui;IOS开发主要参考cordova-plugin-bdlocation,感谢wilhantian

由于cordova-qdc-baidu-location明确表示没有IOS版,所以才有了重新开发一版兼容Android与IOS的想法。这样才能保证不同平台获取的坐标系是基于同一编码的,方便逻辑的统一性。

Android 版原作者mrwutong的话

Android版为什么不使用官方的_cordova-plugin-geolocation_插件

最新版的插件已经删除掉的Android版定位的代码,改为基于系统浏览器(chrome内核)进行定位。

为什么这样做,也有人问过同样的问题,作者的回答是这样比原生定位更快更准确。

但经过测试后,发现根本无法定位,几经调查发现跟貌似国内网络有关系,原因相信大家都懂的,此过省略好几个字。。。。

此插件就这么诞生了

零,版本

基于百度地图Android版定位SDK(v7.2)以及百度地图IOS SDK (v3.3.4)

一,申请Android及IOS版密钥

申请密钥Android定位SDK

每一个AndroidManifest.xml 中的package属性 对应一个AK,不可混用

iOS SDK开发密钥

每一个Bundle Identifier 对应一个AK,不可混用

二,安装插件
cordova plugin add cordova-plugin-baidumaplocation --variable ANDROID_KEY="<API_KEY_ANDROID>" --variable IOS_KEY="<API_KEY_IOS>"
# 此处的API_KEY_XX来自于第一步,直接替换<API_KEY_XX>,也可以最后跟 --save 参数,将插件信息保存到config.xml中
# 如果只需要Android端或者IOS端,可以只填写一个相应的AK,但是都不填肯定不行
三,使用方法
// 进行定位
baidumap_location.getCurrentPosition(function (result) {
    console.log(JSON.stringify(result, null, 4));
}, function (error) {

});

获得定位信息,返回JSON格式数据:

{
    "time": "2017-02-25 17:30:00",//获取时间
    "latitude": 34.6666666,//纬度
    "longitude": 117.8888,//经度
    "radius": 61.9999999,//半径
 
    //--------Android 独享 begin
    "locType": 161,//定位类型                                            
    "locTypeDescription": "NetWork location successful!",//定位类型解释   
    "userIndoorState": 1,//是否室内                                     
    //--------Android 独享 end
    
    //--------IOS 独享 begin
    "title": "我的位置",//定位标注点标题信息
    "subtitle": "我的位置",//定位标注点子标题信息
    //--------IOS 独享 end
}

具体可参考如下截图

Android Screenshot IOS Screenshot

具体字段内容请参照:

Android版 BDLocation v7.2

IOS版 BMKUserLocation v3.3.4

如果Android版获取到的信息是:

{
    "locType": 505,
    "locTypeDescription": "NetWork location failed because baidu location service check the key is unlegal, please check the key in AndroidManifest.xml !",
    "latitude": 5e-324,
    "longitude": 5e-324,
    "radius": 0,
    "userIndoorState": -1,
    "direction": -1
}

说明Key有问题,可以检查下生成的AndroidManifest.xml文件里面是否有如下信息

<service android:enabled="true" android:name="com.baidu.location.f" android:process=":remote">
</service>
<meta-data android:name="com.baidu.lbsapi.API_KEY" android:value="abcdefghijklmn" />

如果没有,说明插件使用不当,尝试重新安装,如果有这些信息,说明Key与当前程序AndroidManifest.xml 中的package名不一致,请检查Key的申请信息是否正确

四,查看当前安装了哪些插件
cordova plugin ls
五,删除本插件
cordova plugin rm cordova-plugin-baidumaplocation
至ionic3用户,如何在ionic3项目中使用非ionic维护的cordova插件,可以参考:https://stackoverflow.com/questions/37942202/using-a-third-party-cordova-plugin-in-ionic-2-with-typescript

Keywords

FAQs

Package last updated on 27 Jul 2018

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc