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 之后,插件才能運行。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM