ionic 添加地图定位功能
由于項(xiàng)目需求,需要一個(gè)定位功能,通過(guò)google或百度,搜到一個(gè)cordova-plugin-geolocation的插件,在ios上可以用,但是在android就呵呵了,原因就不說(shuō)了,大家都知道。所以 ? ?
? ? android需要用到百度的一個(gè)插件實(shí)現(xiàn)定位功能。
Android:
1.首先要申請(qǐng)一個(gè)百度地圖密鑰
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);});??插件默認(rèn)只提供經(jīng)緯度信息,如果需要詳細(xì)的信息,需要到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.latitudevar long = position.coords.longitude}, function(err) {// error});? ?如果需要詳細(xì)信息,可以使用百度的Geocoding API實(shí)現(xiàn)根據(jù)經(jīng)緯度獲取詳細(xì)信息。
使用方法:
$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的時(shí)候 ios 的就是申請(qǐng)密鑰時(shí)的安全碼。
? ? ? ? ?注意:每添加一個(gè)插件都要 執(zhí)行ionic platform rm android 或ionic platform rm ios ?,ionic platform add android 或ionic platform add ios 之后,插件才能運(yùn)行。
轉(zhuǎn)載于:https://www.cnblogs.com/shachangdianbing/p/6235850.html
總結(jié)
以上是生活随笔為你收集整理的ionic 添加地图定位功能的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 微信开发 :WeixinPayInfoC
- 下一篇: 为什么我们知道那么多道理(理论),却依然