高德地圖導航SDK使用

本文是針對android studio使用的介紹,使用eclipse的大兄弟們,自行查看官方文檔哈!
1.在app的build.gradle引入compile ‘com.amap.api:navi-3dmap:latest.integration’,然後配置使用的ndk內核(根據需要自行選擇,不一定都需要):

ndk {
            abiFilters "armeabi", "armeabi-v7a", "arm64-v8a", "x86","arm64-v8a","x86_64"
            }
        }

2.在代碼中直接跳轉SDKzhong提供的導航activity,有多種參數可配置,我這裏貼一種設置起點,終點和途徑地點的方式:

findViewById(R.id.start_nav).setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                Poi start = new Poi("三元橋", new LatLng(39.96087,116.45798), "");
                /**終點傳入的是北京站座標,但是POI的ID "B000A83M61"對應的是北京西站,所以實際算路以北京西站作爲終點**/
                Poi end = new Poi("北京站", new LatLng(39.904556, 116.427231), "B000A83M61");
                List<Poi> wayList = new ArrayList();//途徑點目前最多支持3個。
                wayList.add(new Poi("團結湖", new LatLng(39.93413,116.461676), ""));
                wayList.add(new Poi("呼家樓", new LatLng(39.923484,116.461327), ""));
                wayList.add(new Poi("華潤大廈", new LatLng(39.912914,116.434247), ""));
                AmapNaviPage.getInstance().showRouteActivity(MainActivity.this, new AmapNaviParams(start, wayList, end, AmapNaviType.DRIVER), new INaviInfoCallback() {
                    @Override
                    public void onInitNaviFailure() {

                    }

                    @Override
                    public void onGetNavigationText(String s) {

                    }

                    @Override
                    public void onLocationChange(AMapNaviLocation aMapNaviLocation) {

                    }

                    @Override
                    public void onArriveDestination(boolean b) {

                    }

                    @Override
                    public void onStartNavi(int i) {

                    }

                    @Override
                    public void onCalculateRouteSuccess(int[] ints) {

                    }

                    @Override
                    public void onCalculateRouteFailure(int i) {

                    }

                    @Override
                    public void onStopSpeaking() {

                    }

                    @Override
                    public void onReCalculateRoute(int i) {

                    }

                    @Override
                    public void onExitPage(int i) {

                    }
                });
            }
        });

注意:不要忘了在manifest裏面對導航activity進行註冊:

<activity
            android:name="com.amap.api.navi.AmapRouteActivity"
            android:configChanges="orientation|keyboardHidden|screenSize"
            android:theme="@android:style/Theme.NoTitleBar"/>
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章