第三方導(dǎo)航功能的封裝

navigation包封裝了調(diào)啟各類第三方導(dǎo)航的api,以dialog的形式供用戶選擇使用百度、高德,或者其他形式進(jìn)行導(dǎo)航。(目前只封裝了百度和高德)

入口類

我們通過唯一的入口類NavigationHelper來使用navigation包提供的功能。

1.生成NavigationHelper的實例,在其構(gòu)造函數(shù)中傳入Context對象


mNavigationHelper = new NavigationHelper(this);

2.傳入LatLng對象,設(shè)置目標(biāo)位置的經(jīng)緯度信息


mNavigationHelper.setDestination(mDestination);`

3.顯示對話框,供用戶選擇導(dǎo)航方式


mNavigationHelper.showNaviOptListDialog();

擴(kuò)展

目前只支持百度和高德導(dǎo)航,如果以后要支持別的導(dǎo)航形式,可以這樣擴(kuò)展(以騰訊地圖為例)

1.仿照百度和高德,添加繼承NavigationOption的類,比如要支持騰訊地圖


class MapTencent extends NavigationOption {

...

}

2.在MapApp中添加新的枚舉類型,比如TECENT,GOOGLE


private enum MapApp {

BAIDU, GAODE //, TENCENT

}

3.在工廠類NavigationFactory中添加對應(yīng)的生成方法


case TENCENT:

return new MapTencent(context);

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 發(fā)現(xiàn) 關(guān)注 消息 iOS 第三方庫、插件、知名博客總結(jié) 作者大灰狼的小綿羊哥哥關(guān)注 2017.06.26 09:4...
    肇東周閱讀 15,262評論 4 61
  • WebSocket-Swift Starscream的使用 WebSocket 是 HTML5 一種新的協(xié)議。它實...
    香橙柚子閱讀 24,750評論 8 183
  • 李明杰淺談逆向 https://pan.baidu.com/s/1kVn1Nc7#list/path=%2F密碼:...
    Coke26閱讀 593評論 0 0
  • 一:命令操作 1. 管理人員創(chuàng)建一個svn倉庫 一個svn倉庫一般對應(yīng)的就是一個項目 svnadmin creat...
    小小機(jī)器人閱讀 652評論 0 0
  • 早晨,我睡醒了,發(fā)現(xiàn)我的手上有一個很小的小疙瘩,軟軟的,也不疼,就和一個點一樣。
    齊異初閱讀 141評論 0 1

友情鏈接更多精彩內(nèi)容