在ionic/cordova中使用百度地圖插件

ionic項目中,如果想實現定位功能,可以使用ng-cordova提供的cordova-plugin-geolocation

但由于高墻的緣故,國內andorid環境下,此插件不起作用(ios環境下可用)。

國內比較好的是現實使用百度地圖提供的API,來實現定位,以及地圖的一系列擴展功能。

現在我們使用'Weizhe He'提供的cordova-qdc-baidu-location來嘗試創建簡單的定位app

?

Stpe1:創建一個項目(此處使用的是tab類型的項目,創建方式可參照我前一篇如何離線創建Ionic1項目)

Stpe2:申請百度地圖API秘鑰

  ????應用類型請選擇:Andorid應用

?????????? 包名:如圖所示的名字(config.xml內?widget節點中id的值)

??????????

Stpe3:在項目中添加cordova-qdc-baidu-location插件

安裝插件命令:ionic plugin add https://github.com/hewz/cordova-baidu-location --variable API_KEY="你的應用秘鑰"
ps:
卸載插件命令:ionic plugin rm com.hewz.plugins.baidu.location
列出所有插件:ionic plugin list????????????

???????????安裝完畢后可見下圖內容:

??????????

Stpe4:在項目中添加百度地圖API的JS引用

???????????打開Index.html

????????? 4.1?在head中添加代碼

<meta http-equiv="Content-Security-Policy" content="script-src * 'unsafe-eval'; connect-src * 'unsafe-eval';object-src 'self'; style-src * 'unsafe-inline'; img-src *" >
<script type="text/javascript" src="http://api.map.baidu.com/api?v=2.0&ak=你應用的秘鑰"></script>

???????? 4.2?編寫插件使用代碼

????????? 4.2.1 打開www->templates->tab-dash.html修改代碼為:

<ion-view view-title="百度地圖測試"><ion-content><ion-list><ion-item><button class="button button-block button-calm" ng-click="getpoint()"> 開始定位 </button></ion-item><ion-item>經度:{{ret.longitude}}    緯度:{{ret.latitude}}</ion-item><ion-item><div id="allmap" style="height: 600px;"></div></ion-item></ion-list></ion-content>
</ion-view>

????????? 4.2.2 打開www->js->controllers.js修改[DashCtrl]代碼為:

.controller('DashCtrl', function($scope) {var map = new BMap.Map("allmap");                         // 創建Map實例var point = new BMap.Point(104.108164,30.773969);         // 創建點坐標$scope.ret = {latitude:30.773969, longitude:104.108164};map.centerAndZoom(point,19);                              // 初始化地圖,用城市名設置地圖中心點var marker = new BMap.Marker(point);                      // 創建標注map.addOverlay(marker);                                   // 將標注添加到地圖中
$scope.getpoint = function() {baidu_location.getCurrentPosition(function(data){$scope.ret = {longitude:data.longitude, latitude:data.latitude};var map = new BMap.Map("allmap");                           // 創建Map實例var point = new BMap.Point(data.longitude, data.latitude);  // 創建點坐標map.centerAndZoom(point,19);var marker = new BMap.Marker(point);                        // 創建標注map.addOverlay(marker);                                     // 將標注添加到地圖中}, function(err){alert("錯誤:"+ err)});};
})

Stpe5:測試

需要注意的是,我們在瀏覽器測試項目的時候,會提示baidu_location沒有定義,實際需要在手機上體驗完整功能。

手機連接電腦后,使用ionic小助手,打開項目并真機調試,直接將app安裝到手機,注意打開手機USB調試模式,保持手機解鎖并點亮,ionic小助手編譯安裝完成,可能經歷一下幾步:

?

其他:

?百度地圖API示例

?

特別感謝:Weizhe He

轉載于:https://www.cnblogs.com/larryNE/p/6066166.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/394662.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/394662.shtml
英文地址,請注明出處:http://en.pswp.cn/news/394662.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

django國際化與html語言,Django 國際化

Django 國際化Django 支持國際化&#xff0c;多語言。Django的國際化是默認開啟的&#xff0c;如果您不需要國際化支持&#xff0c;那么您可以在您的設置文件中設置 USE_I18N False&#xff0c;那么Django會進行一些優化&#xff0c;不加載國際化支持機制。NOTE: 18表示Intern…

mongo 刪除節點_將生產節點/ Express Mongo App部署到AWS —反思

mongo 刪除節點在AWS中部署生產Web應用程序的經驗教訓 (Lessons learned deploying a production web application in AWS) 背景 (Background) This is not a code-based tutorial. It consists of all the things I wish I knew before I started the project and the steps I…

漢諾塔問題遞歸算法python代碼_[python]漢諾塔問題遞歸實現

一、問題描述及算法步驟 漢諾塔問題的大意是有三根柱子a, b, c&#xff0c;現在a柱有N個盤子從下往上尺寸遞減排列&#xff0c;要求&#xff1a; 1. 將a上的盤子移動到c柱上; 2. 每次移動一個盤子; 3. 柱子上的盤子始終必須是大的在下面image.png 漢諾塔問題的經典實現算法步驟…

【硬件】PCB設計步驟

前言 合理的PCB設計步驟&#xff0c;可以減少反復修改的可能性。動手設計PCB前&#xff0c;需要按步就班準備一些資料&#xff0c;即使是小項目。 本文將講解如何一次性成功地設計一款PCB的常規步驟。 當然&#xff0c;如果是一個系統&#xff0c;則需要按照瀑布式的思路&#…

linux install StarDict

1.  sudo apt-get install stardict 2.  Downloads from: http://abloz.com/huzheng/stardict-dic/zh_CN/ 3.  tar jxf stardict-21shijishuangxiangcidian-2.4.2.tar.bz2 -C /usr/share/stardict/dic (etc other dictionaries)轉載于:https://www.cnblogs.com/HurryXin/…

交付方式 saas_我在全職工作時如何交付我的第一個SaaS副項目

交付方式 saasby Tigran Hakobyan由Tigran Hakobyan 我在全職工作時如何交付我的第一個SaaS副項目 (How I shipped my first SaaS side-project while working full-time) This is my personal story of how I shipped my very first SaaS side-project while working full-ti…

nginx搭建基于http協議的視頻點播服務器

1&#xff0c;于由自己的服務器上已經安裝好nginx(具體安裝方法見我的另一篇文章&#xff0c;Linux中安裝nginx)&#xff0c;所以不再安裝。 2&#xff0c;下載nginx_mod_h264_streaming-2.2.7.tar.gz(自己在網上搜吧)。 3&#xff0c;安裝pcre&#xff0c;先看有沒有安裝。 [r…

plsql 批量調存儲過程_數控雙端開榫機:批量銑榫頭真牛氣

數控雙端開榫機主要用于實木家具批量化銑榫頭專用&#xff0c;因為其本身的優勢逐漸被家具廠老板們所接受&#xff0c;是目前家具生產不可缺少的一款自動化設備&#xff0c;給企業節約了生產成本&#xff0c;今天又焦峰小編來給大家講解一下。主要技術參數&#xff1a;知乎視頻…

c 向html頁面傳值,html頁面之間的傳值,獲取元素和方法的調用

這篇文章是自己在項目中遇到&#xff0c;同時參考了網上的資料&#xff0c;作為筆記參考使用一、頁面之間的傳值1、使用cookie傳值封裝簡單使用&#xff1a;//獲取cookiefunction getCookie(name){var arr,regnew RegExp("(^| )"name"([^;]*)(;|$)");if(ar…

Codeforces Round #364 (Div. 1) (差一個后綴自動機)

B. Connecting Universities 大意: 給定樹, 給定2*k個點, 求將2*k個點兩兩匹配, 每個匹配的貢獻為兩點的距離, 求貢獻最大值 單獨考慮每條邊$(u,v)$的貢獻即可, 最大貢獻顯然是左右兩側點的最小值. #include <iostream> #include <algorithm> #include <cstdio&…

Python黑魔法

1. 賦值 In [1]: x 1...: y 21...: print x, y...: ...: x, y y, x...: print x, y 1 21 21 1 2. 列表合并 In [2]: a1 [(2,3),(3,4)]...: a2 [(4,5)]...: a a1 a2...: print a [(2, 3), (3, 4), (4, 5)] 3. 字典合并 方式1: In [3]: d1 {a: 1}...: d2 {b: 2}...: ...…

python時間差怎么轉換為數字_pandas進行時間數據的轉換和計算時間差并提取年月日...

#pd.to_datetime函數 #讀取數據 import pandas as pd data pd.read_csv(police.csv) #將stop_date轉化為datetime的格式的dataframe&#xff0c;存到stop_datetime data[stop_datetime] pd.to_datetime(data.stop_date) #自定義一個時間&#xff0c;計算時間差 data_new pd.…

人臉識別html5效果,用HTML5實現人臉識別

注&#xff1a;今天 HTML5 小組沙龍《論道 HTML5 》分享時有朋友問到一個問題&#xff0c; getUserMedia 是否會支持人臉識別&#xff0c;我當時的答案是這應該是應用來實現的功能&#xff0c;而不是規范要完成的工作。而我之前在網上看到過一篇關于 getUserMedia 和人臉識別的…

企業如何尋找最合適的托管數據中心,以維持IT和業務的增長運營

想象一下&#xff0c;當您興奮地拿了鑰匙&#xff0c;走進您剛買的新家時&#xff0c;才突然意識到新家還沒通電&#xff0c;互聯網寬帶也還沒有通&#xff0c;而想要找個電工或者別的相關技術支持人員也不見蹤影。而且&#xff0c;更糟糕的是&#xff0c;您似乎還聽到您附近的…

gt爵士變形步驟_代碼廣播簡介:您可以編碼為24/7的爵士節拍

gt爵士變形步驟閱讀本文時&#xff0c;您可以繼續閱讀Code Radio。 (You can go ahead and start listening to Code Radio while you read this) Most developers I know listen to music while they code. When the meetings are over, the headphones come out.我認識的大多…

python3中format方法_[翻譯]python3中新的字符串格式化方法-----f-string

從python3.6開始,引入了新的字符串格式化方式,f-字符串. 這使得格式化字符串變得可讀性更高,更簡潔,更不容易出現錯誤而且速度也更快. 在本文后面,會詳細介紹f-字符串的用法. 在此之前,讓我們先來復習一下python中字符串格式化的方法. python中傳統的字符串格式化方法. 在pytho…

華為mate40會不會有鴻蒙系統,鴻蒙OS系統正式推送,拿華為Mate40更新后,發現了優缺點...

自從鴻蒙系統正式推送之后&#xff0c;筆者一直都帶著好奇心在體驗著HarmonyOS 2帶來的變化&#xff0c;生怕錯過驚喜&#xff0c;也擔心系統本身會出現不足。因為鴻蒙系統就像是年輕人一樣&#xff0c;才剛剛出爐&#xff0c;需要時間去磨練&#xff0c;然后才能發揮出真正強大…

jstack使用

jstack主要用來查看某個Java進程內的線程堆棧信息&#xff0c;根據堆棧信息我們可以定位到具體代碼&#xff0c;所以它在JVM性能調優中使用得非常多&#xff0c;語法格式如下&#xff1a; jstack [option] pid jstack [option] executable core jstack [option] [server-id]rem…

如何使用TensorFlow對象檢測API播放Quidditch

by Bharath Raj巴拉斯拉吉(Bharath Raj) 如何使用TensorFlow對象檢測API播放Quidditch (How to play Quidditch using the TensorFlow Object Detection API) Deep Learning never ceases to amaze me. It has had a profound impact on several domains, beating benchmarks …

刪除目錄軟鏈接注意事項

2019獨角獸企業重金招聘Python工程師標準>>> 實驗環境&#xff1a; 在root 目錄下創建一個目錄 1 ,并在該目錄下創建一個2.txt 的文件&#xff0c;寫入內容 1.txt: [rootserver ~]# mkdir 1 [rootserver ~]# echo 1.txt > 1/2.txt [rootserver ~]# tree 1 1 └─…