ionic 調(diào)用百度地圖API彭则,并定位當(dāng)前位置示例

首先吆豹,可以參考JS版本的百度地圖API示例鱼的。

由于在ionic程序中,我們一般使用的ES5 或 ES6 或者是Typescript痘煤。 這與JS 還有有一些區(qū)別的,比如TS的回調(diào)函數(shù)與JS是在寫法上是不同的凑阶。所以,在我們的程序中衷快,代碼與官方示例代碼格式上不完全相同宙橱。

下面,簡(jiǎn)單說明一下如何在 ionic 程序中 調(diào)用 百度地圖API.

1. 在ionic程序中,定位到文件: \src\index.html.? 在 head tag中师郑,添加如下代碼 , 注意將“您的密鑰” 替換成 您申請(qǐng)的密鑰

? ? <script type="text/javascript" src="http://api.map.baidu.com/api?v=2.0&ak=您的密鑰"></script>

2.參考ionic Geolocation 官方文檔,? 安裝geolocation package , 這個(gè)包用來做定位當(dāng)前設(shè)備的經(jīng)緯度信息
? ? $ ionic cordova plugin add cordova-plugin-geolocation --variable GEOLOCATION_USAGE_DESCRIPTION="To locate you"

? ? $ npm install --save @ionic-native/geolocation


3. 在ionic 程序中 环葵, 打開終端,輸入 ionic g page map,? 將map page注冊(cè)到 src\app\app.module.

? ? import { MapPageModule } from '../pages/map/map.module';

? ? import { Geolocation } from '@ionic-native/geolocation';

? @NgModule({

? ? imports: [ ...

? ? ? ? ? ? MapPageModule

? ? providers: [...

? ? ? ? ? ? Geolocation

4.? 在ionic 程序中 宝冕,定位到文件: \src\pages\map\map.html ,? 在 ion-content tag 中 张遭, 添加如下代碼。

? ? <div class="align-bottom" #map id="map_container"></div>

? ? 代碼如下圖所示地梨。

5 .在ionic 程序中 菊卷,定位到文件? \src\pages\map\map.ts ,? 以下代碼實(shí)現(xiàn)的是 地圖加載 并 定位當(dāng)前設(shè)備宝剖。

import { Component, ViewChild, ElementRef } from '@angular/core';

import { IonicPage, NavController, AlertController, NavParams, MenuController } from 'ionic-angular';

import { Geolocation } from '@ionic-native/geolocation';

declare var BMap;

declare var BMapLib;

@IonicPage()

@Component({

? selector: 'page-map',

? templateUrl: 'map.html',

})

export class MapPage {

? map: any;

? myGeo: any;

? myIcon: any;

@ViewChild('map') map_container: ElementRef;

? constructor(public navCtrl: NavController, public navParams: NavParams,

? private geolocation: Geolocation) {

? //此處請(qǐng)自行放置一個(gè)icon文件到 assets/icon目錄中

? ? this.myIcon = new BMap.Icon("assets/icon/position.png", new BMap.Size(32, 32));

? }


ionViewDidLoad() {

? ? //Amin: !Important:map_container shoud be called here, it can't be inited in constructor, if called in constructor

? ? this.map = new BMap.Map("map_container");

? ? this.map.centerAndZoom('上海', 13);

? ? this.map.enableScrollWheelZoom(true);

? ? this.myGeo = new BMap.Geocoder();

? ? var geolocationControl = new BMap.GeolocationControl();

? ? this.map.addControl(geolocationControl);

? ? this.getLocation();

? }


getLocation() {

? ? this.geolocation.getCurrentPosition().then((resp) => {

? ? ? if (resp && resp.coords) {

? ? ? ? let locationPoint = new BMap.Point(resp.coords.longitude, resp.coords.latitude);

? ? ? ? let convertor = new BMap.Convertor();

? ? ? ? let pointArr = [];

? ? ? ? pointArr.push(locationPoint);

? ? ? ? convertor.translate(pointArr, 1, 5, (data) => {

? ? ? ? ? if (data.status === 0) {

? ? ? ? ? ? let marker = new BMap.Marker(data.points[0], { icon: this.myIcon });

? ? ? ? ? ? this.map.panTo(data.points[0]);

? ? ? ? ? ? marker.setPosition(data.points[0]);

? ? ? ? ? ? this.map.addOverlay(marker);

? ? ? ? ? }

? ? ? ? })

? ? ? ? this.map.centerAndZoom(locationPoint, 13);

? ? ? ? console.log('GPS定位:您的位置是 ' + resp.coords.longitude + ',' + resp.coords.latitude);

? ? ? }

? ? }).catch(e => {

? ? ? console.log('Error happened when get current position.');

? ? });

? }


運(yùn)行結(jié)果如下圖所示洁闰。? 注意以上代碼實(shí)現(xiàn)的是加載地圖 并 實(shí)現(xiàn) 定位功能,所以請(qǐng)忽略途中的輸入框诈闺。


如果錯(cuò)誤或者任何疑問渴庆,歡迎留言, 也歡迎提出批評(píng)指正雅镊。? @caiyaming.

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末襟雷,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子仁烹,更是在濱河造成了極大的恐慌耸弄,老刑警劉巖,帶你破解...
    沈念sama閱讀 219,490評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件卓缰,死亡現(xiàn)場(chǎng)離奇詭異计呈,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)征唬,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,581評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門捌显,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人总寒,你說我怎么就攤上這事扶歪。” “怎么了摄闸?”我有些...
    開封第一講書人閱讀 165,830評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵善镰,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我年枕,道長(zhǎng)炫欺,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,957評(píng)論 1 295
  • 正文 為了忘掉前任熏兄,我火速辦了婚禮品洛,結(jié)果婚禮上树姨,老公的妹妹穿的比我還像新娘。我一直安慰自己毫别,他們只是感情好娃弓,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,974評(píng)論 6 393
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著岛宦,像睡著了一般台丛。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上砾肺,一...
    開封第一講書人閱讀 51,754評(píng)論 1 307
  • 那天挽霉,我揣著相機(jī)與錄音,去河邊找鬼变汪。 笑死侠坎,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的裙盾。 我是一名探鬼主播实胸,決...
    沈念sama閱讀 40,464評(píng)論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼番官!你這毒婦竟也來了庐完?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,357評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤徘熔,失蹤者是張志新(化名)和其女友劉穎门躯,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體酷师,經(jīng)...
    沈念sama閱讀 45,847評(píng)論 1 317
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡讶凉,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,995評(píng)論 3 338
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了山孔。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片懂讯。...
    茶點(diǎn)故事閱讀 40,137評(píng)論 1 351
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖台颠,靈堂內(nèi)的尸體忽然破棺而出域醇,到底是詐尸還是另有隱情,我是刑警寧澤蓉媳,帶...
    沈念sama閱讀 35,819評(píng)論 5 346
  • 正文 年R本政府宣布,位于F島的核電站锅铅,受9級(jí)特大地震影響酪呻,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜盐须,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,482評(píng)論 3 331
  • 文/蒙蒙 一玩荠、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦阶冈、人聲如沸闷尿。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,023評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽填具。三九已至,卻和暖如春匆骗,著一層夾襖步出監(jiān)牢的瞬間劳景,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,149評(píng)論 1 272
  • 我被黑心中介騙來泰國打工碉就, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留盟广,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,409評(píng)論 3 373
  • 正文 我出身青樓瓮钥,卻偏偏與公主長(zhǎng)得像筋量,于是被迫代替她去往敵國和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子碉熄,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,086評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容

  • 1Geolocation簡(jiǎn)介 HTML5 Geolocation(地理定位)用于定位用戶的位置桨武。 1.1定位用戶的...
    Kevin_Junbaozi閱讀 1,341評(píng)論 0 1
  • 第四次課,群主說我懂得發(fā)力了具被,但是感覺一如既往的菜玻募,好在精神可嘉,對(duì)于屢屢的失敗勇而無畏一姿,在同一坑里摔了再摔七咧,還會(huì)...
    Annie27閱讀 214評(píng)論 0 0
  • 正文: 須菩提。于意云何叮叹。須陀洹能作是念艾栋。我得須陀洹果不。須菩提言蛉顽。不也蝗砾。世尊。何以故携冤。須陀洹名為入流悼粮。而無所入。...
    姜繼浩閱讀 235評(píng)論 0 0