本文是針對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"/>