ionic 添加地图定位功能

  由于项目需求,需要一个定位功能,通过google或百度,搜到一个cordova-plugin-geolocation的插件,在ios上可以用,但是在android就呵呵了,原因就不说了,大家都知道。所以

 android需要用到百度的一个插件实现定位功能。

  Android:

  1.首先要申请一个百度地图密钥

  2.添加百度定位插件  ionic plugin add https://github.com/mrwutong/cordova-qdc-baidu-location --variable API_KEY="<API_KEY>" ---API_KEY 即百度密钥

  3.使用方法

   在需要定位的地方加入下列代码 

      baidu_location.getCurrentPosition(function ( message ) {
console.log(message);
}, function ( message ) {
console.log(message);
});

     插件默认只提供经纬度信息,如果需要详细的信息,需要到BaiduLocation.java修改

    option.setIsNeedAddress(false); 改为 option.setIsNeedAddress(true);

Ios:

  1.添加官方定位插件   cordova plugin add cordova-plugin-geolocation  附文档地址

  2.使用方法

   在需要使用定位的地方添加下列代码

    module.controller('GeoCtrl', function($cordovaGeolocation) {
var posOptions = {timeout: 10000, enableHighAccuracy: false};
$cordovaGeolocation.getCurrentPosition(posOptions)
.then(function (position) {
var lat = position.coords.latitude
var long = position.coords.longitude
}, function(err) {
// error
});

      如果需要详细信息,可以使用百度的Geocoding API实现根据经纬度获取详细信息。

    使用方法: 

  $http.jsonp("http://api.map.baidu.com/geocoder/v2/?callback=JSON_CALLBACK&mcode=com.xxxxx.-&location=39.983424,116.322987&output=json&pois=1&ak=您的ak")
.success(function(data){
   console.log(data)
  })

   添加mcode的时候 ios 的就是申请密钥时的安全码。

注意:每添加一个插件都要 执行ionic platform rm android 或ionic platform rm ios  ,ionic platform add android 或ionic platform add ios 之后,插件才能运行。

上一篇:1、ASP.NET MVC入门到精通——新语法


下一篇:Oracle巡检脚本:ORAWatcher.sh