Luck、Time

  • 主页
  • 小说鉴赏
  • 专业笔记
  • 个人简介
所有文章 友链 关于我

Luck、Time

  • 主页
  • 小说鉴赏
  • 专业笔记
  • 个人简介

ionic 百度定位插件

2017-08-18

ionic plugin add https://github.com/hewz/cordova-baidu-location –variable API_KEY=”H7ZRpoaHboqyXtVYHqU6Zd0GNr7OQkWU”

升级版,更新了watch功能

以下是操作步骤
官方提供的有个叫cordova-plugin-geolocation的插件,在iOS上可以直接使用,但是在天朝因为某些网络原因不能给正常使用,或者是国内安卓环境混乱,不再支持cordova-plugin-geolocation 插件功能。 于是在github上找到合适的资源插件,以供使用。

  1. 申请百度的秘钥 百度秘钥申请地址
  2. 安装插件:
    ionic plugin add https://github.com/hewz/cordova-baidu-location –variable API_KEY=”API_KEY”
  3. 使用方法
    在需要获取位置信息的地方直接使用以下代码:
    baidu_location.getCurrentPosition(function ( message ) { console.debug(message); }, function ( message ) { console.debug(message); });
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    function successCallback(data){
    console.log("lontitude:" + data.longitude);
    console.log("latitude:" + data.latitude);
    // alert(data.longitude);
    //更新操作
    // console.log("time:" + data.time);
    console.log("describe:" + data.describe);
    // alert("successCallback");
    };
    function failedCallback(data){
    // 失败的提示操作
    alert("failedCallback");
    };
    baidu_location.watchPosition(successCallback, failedCallback,10);
    //第一个函数是成功的回调,第二个是失败的回调。

4.注意事项

1
2
3
4
5
6
7
8
9
10
a).此插件只能在手机端测试,我的模拟器也无法定位。web更不可能,会出现baidu_location 没有被定义的问题。
b).要先ionic remove platform android
然后再执行ionic platform add android命令,不然插件不能正确的执行,事实上,每一次修改插件的内容,都要执行上面的两个操作,才能使插件正常运行.
c).如果你使用sdk23版本进行打包的,你就要注意了,在最新的android6.0上面,和以前的权限授权机制已经不同,如果使用23版本的进行打包。
d).在android6.0以上的手机上运行不会给出获取地理位置权限的弹窗,务必改为23以下的版本进行编译获取成功的话,默认是只给出经纬度信息的,如果要获取定位的地址的具体信息,要在插件里面的BaiduLocation.java
文件把 option.setIsNeedAddress(false);
 改为 option.setIsNeedAddress(true);
e).默认返回的是一个字符串,对于现在json这么流行的情况下,当然是获得json格式的数据比较让人喜欢,这个时候坐着已经替我们封装好了,只需要在BaiduLocation.java
文件中把 PluginResult pluginResult = new PluginResult(PluginResult.Status.OK, sb.toString());
 改为 PluginResult pluginResult = new PluginResult(PluginResult.Status.OK, json.toString());,你就可以获得一个json格式的字符串了

最后
上面的内容大多数是在github上找到的,这里只是写上了自己遇到的一些问题,分享出来,这里附上github地址:GitHub地址
升级版github地址:GitHub地址

赏

感谢对我的支持,让我们一起努力吧

谢谢你哦
  • ionic
  • ionic

扫一扫,分享到微信

微信分享二维码
ionic 常用技巧及命令行
ionic 常用插件
Like Issue Page
Loading comments...
Login with GitHub
Styling with Markdown is supported
Powered by Gitment
© 2017 Luck、Time
Hexo Theme Yilia by Litten
  • 所有文章
  • 友链
  • 关于我

tag:

  • Html
  • jquery
  • Mysql
  • PHP
  • Weather
  • GTM
  • GA
  • Hexo
  • ionic
  • 推广
  • 接口集合
  • Wordpress
  • Map
  • 插件集合
  • 日记
  • fighting
  • 自学
  • 安卓
  • 小程序
  • wepy
  • 抓包
  • 祭祀
  • 知识总结
  • 小说鉴赏
  • 太宰治
  • 梭罗
  • 美句

    缺失模块。
    1、请确保node版本大于6.2
    2、在博客根目录(注意不是yilia根目录)执行以下命令:
    npm i hexo-generator-json-content --save

    3、在根目录_config.yml里添加配置:

      jsonContent:
        meta: false
        pages: false
        posts:
          title: true
          date: true
          path: true
          text: false
          raw: false
          content: false
          slug: false
          updated: false
          comments: false
          link: false
          permalink: false
          excerpt: false
          categories: false
          tags: true
    

  • 友情链接1
  • 友情链接2
  • 友情链接3
  • 友情链接4
  • 友情链接5
  • 友情链接6