HBuilder使用地圖(maps)

最近搗鼓了一下HBuilder的maps,也算爬了點(diǎn)坑,分享給需要的同學(xué)

首先說說定位

plus.geolocation.getCurrentPosition( function ( p ) {
  console.info(JSON.stringify(p))
})

打印出來的就是獲取到的位置信息,重點(diǎn)說一下coordsType屬性芒率,很多同學(xué)只注意到經(jīng)緯度,而忽略了coordsType篙顺。coordsType是坐標(biāo)類型偶芍,安卓和iOS獲取到的類型都不同(iOS:wgs84, 安卓:gcj02)德玫,這很關(guān)鍵匪蟀,在后面會(huì)用到。

現(xiàn)在該創(chuàng)建地圖了宰僧,直接上代碼

var pcenter = new plus.maps.Point(point.longitude, point.latitude); // 地圖中心點(diǎn)
var map = new plus.maps.Map('map');
map.centerAndZoom(pcenter, 15); // 設(shè)置地圖的中心點(diǎn)和縮放級(jí)別
map.showUserLocation( true ); // 設(shè)置是否顯示用戶的位置
......  // 還有很多屬性可以設(shè)置材彪,請(qǐng)參考官方文檔

可能看到第一行代碼您就覺得有問題,point哪兒來的?
不少剛學(xué)maps的同學(xué)段化,可能直接把定位獲取的經(jīng)緯度放上去了嘁捷,那就錯(cuò)了。
因?yàn)閙aps默認(rèn)是使用百度地圖显熏,使用百度地圖需要將獲取到的坐標(biāo)轉(zhuǎn)換為百度地圖的坐標(biāo)雄嚣,所以我們最開始提到的coordsType就起作用了

var point = new plus.maps.Point(p.coords.longitude, p.coords.latitude); // 這里的p就是定位獲取的數(shù)據(jù)
plus.maps.Map.convertCoordinates(point, {coordType: p.coordsType}, function(event){
  var point = event.coord;  // 轉(zhuǎn)換后的坐標(biāo)值,上面創(chuàng)建地圖就是用的這個(gè)point
})

順便提一下位置監(jiān)聽API

plus.geolocation.watchPosition(function(a){ // 位置一旦發(fā)生變化喘蟆,就會(huì)觸發(fā)該回調(diào)方法
  console.info(JSON.stringify(a));
}, function(e){
  alert('Geolocation error: ' + e.message);
});

在地圖上添加覆蓋物

我們來做個(gè)例子现诀,先創(chuàng)建一個(gè)Marker,再將Marker添加到地圖上

var marker = new plus.maps.Marker(new plus.maps.Point(point.longitude, point.latitude)); // 這里的point是坐標(biāo)轉(zhuǎn)換之后的
marker.setIcon("/img/pic.png");//這里放你的圖片
marker.setLabel('測試');
var bubble = new plus.maps.Bubble(""); // 氣泡對(duì)象(點(diǎn)擊Marker之后顯示履肃,這里有點(diǎn)坑,只能添加字符串坐桩,不能添加html)
marker.setBubble(bubble);
map.addOverlay(marker);
marker.onclick = function ( marker ) {
   // 點(diǎn)擊marker觸發(fā)
}

搜索并添加路線

有新同學(xué)想添加路線尺棋,就直接去創(chuàng)建Route對(duì)象,但是發(fā)現(xiàn)地圖上根本就沒有成功添加路線绵跷。很納悶兒到底是哪兒出錯(cuò)了膘螟?
其實(shí)添加路線并不是創(chuàng)建Route對(duì)象,而是根據(jù)兩點(diǎn)碾局,搜索路線荆残,然后通過添加覆蓋物的方式添加路線。

var searchObj = new plus.maps.Search( map );  // 創(chuàng)建地圖檢索對(duì)象
searchObj.onRouteSearchComplete = function ( state, result ) { // 線路檢索完成事件
  console.log("onRouteSearchComplete: "+state+" , "+result.routeNumber);
  if ( state == 0 ) {
    if ( result.routeNumber <= 0 ) {
      alert( "沒有檢索到結(jié)果" );
    } else {
      map.addOverlay( result.getRoute( 0 ) );
    }
  } else {
    alert( "檢索失敗" );
  }
}
searchObj.drivingSearch( point, "", new plus.maps.Point(Client.log,Client.lat), "" ); // drivingSearch是駕車路線(也有公交和步行路線净当,請(qǐng)自行查看官網(wǎng)文檔内斯,參數(shù)是1:起點(diǎn)(Point對(duì)象),2:起點(diǎn)城市(可不填), 3:終點(diǎn)(Point對(duì)象), 4:終點(diǎn)城市(可不填))

這些都是比較常用的maps API像啼,這些都搞懂了俘闯,再去看其他maps API都不是問題了,希望能幫到同學(xué)們忽冻。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末真朗,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子僧诚,更是在濱河造成了極大的恐慌遮婶,老刑警劉巖,帶你破解...
    沈念sama閱讀 211,348評(píng)論 6 491
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件湖笨,死亡現(xiàn)場離奇詭異旗扑,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)赶么,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,122評(píng)論 2 385
  • 文/潘曉璐 我一進(jìn)店門肩豁,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事清钥∏矸妫” “怎么了?”我有些...
    開封第一講書人閱讀 156,936評(píng)論 0 347
  • 文/不壞的土叔 我叫張陵祟昭,是天一觀的道長缕坎。 經(jīng)常有香客問我,道長篡悟,這世上最難降的妖魔是什么谜叹? 我笑而不...
    開封第一講書人閱讀 56,427評(píng)論 1 283
  • 正文 為了忘掉前任,我火速辦了婚禮搬葬,結(jié)果婚禮上荷腊,老公的妹妹穿的比我還像新娘。我一直安慰自己急凰,他們只是感情好女仰,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,467評(píng)論 6 385
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著抡锈,像睡著了一般疾忍。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上床三,一...
    開封第一講書人閱讀 49,785評(píng)論 1 290
  • 那天一罩,我揣著相機(jī)與錄音,去河邊找鬼撇簿。 笑死聂渊,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的四瘫。 我是一名探鬼主播歧沪,決...
    沈念sama閱讀 38,931評(píng)論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼莲组!你這毒婦竟也來了诊胞?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,696評(píng)論 0 266
  • 序言:老撾萬榮一對(duì)情侶失蹤锹杈,失蹤者是張志新(化名)和其女友劉穎撵孤,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體竭望,經(jīng)...
    沈念sama閱讀 44,141評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡邪码,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,483評(píng)論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了咬清。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片闭专。...
    茶點(diǎn)故事閱讀 38,625評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡奴潘,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出影钉,到底是詐尸還是另有隱情画髓,我是刑警寧澤,帶...
    沈念sama閱讀 34,291評(píng)論 4 329
  • 正文 年R本政府宣布平委,位于F島的核電站奈虾,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏廉赔。R本人自食惡果不足惜肉微,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,892評(píng)論 3 312
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望蜡塌。 院中可真熱鬧碉纳,春花似錦、人聲如沸馏艾。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,741評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽攒至。三九已至,卻和暖如春躁劣,著一層夾襖步出監(jiān)牢的瞬間迫吐,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,977評(píng)論 1 265
  • 我被黑心中介騙來泰國打工账忘, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留志膀,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 46,324評(píng)論 2 360
  • 正文 我出身青樓鳖擒,卻偏偏與公主長得像溉浙,于是被迫代替她去往敵國和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子蒋荚,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,492評(píng)論 2 348

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

  • 【 申請(qǐng)密鑰AndroidSDK:應(yīng)用程序包名+數(shù)字簽名 As查看數(shù)字簽名:cmd-----cd .android...
    征程_Journey閱讀 2,264評(píng)論 0 5
  • LBS 位置服務(wù) 基于位置的服務(wù)戳稽,它是通過電信移動(dòng)運(yùn)營商的無線電通訊網(wǎng)絡(luò)(如GSM網(wǎng)、CDMA網(wǎng))或外部定位方式(...
    景岳閱讀 956評(píng)論 1 0
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理期升,服務(wù)發(fā)現(xiàn)惊奇,斷路器,智...
    卡卡羅2017閱讀 134,629評(píng)論 18 139
  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 171,757評(píng)論 25 707
  • 2017-09-08 益盟VIP服務(wù)團(tuán)隊(duì) 昨日回顧 昨天給大家分享了操盤線!相信大家對(duì)于操盤線理解度更進(jìn)了一步播赁。...
    db1eae6e5a78閱讀 2,131評(píng)論 4 7