高德地圖 Android SDK 是一套地圖開發調用接口,開發者可以輕松地在自己的Android應用中加入高德地圖相關的功能,包括:地圖顯示(含室內、室外地圖)、與地圖交互、在地圖上繪制、興趣點搜索、地理編碼、離線地圖等功能。

下面這個實例演示了在Android手機高德地圖上繪制箭頭線。

01

實例功能

此實例主要通過使用高德地圖SDK的addNavigateArrow方法,實現在兩地之間繪制帶指示箭頭的連線。高德地圖 Android SDK 是一套地圖開發調用接口,開發者可以輕松地在自己的Android應用中加入高德地圖相關的功能,包括:地圖顯示(含室內、室外地圖)、與地圖交互、在地圖上繪制、興趣點搜索、地理編碼、離線地圖等功能。

當實例運行之后,單擊“繪制重慶到成都的指示箭頭”按鈕,將繪制重慶到成都的箭頭連線,單擊前后效果分別如圖1(a)和圖1(b)所示。

展開全文

■ 圖1

02

實現代碼

publicclassMainActivityextendsActivity{

AMap myAMap;

@Override

protectedvoidonCreate(Bundle savedInstanceState){

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

MapView myMapView=(MapView)findViewById(R.id.myMapView);

myMapView.onCreate(savedInstanceState);

myAMap =myMapView.getMap;

myAMap.moveCamera(CameraUpdateFactory.changeLatLng(

newLatLng( 29.557300, 106.577150))); //設置重慶為高德地圖中心

myAMap.moveCamera(CameraUpdateFactory.zoomTo( 7)); //設置高德地圖縮放級別7

}

publicvoidonClickButton1(View v){ //響應單擊按鈕“繪制重慶到成都的指示箭頭”

NavigateArrowOptions myNavigateArrowOptions = newNavigateArrowOptions;

myNavigateArrowOptions.add( newLatLng( 29.557300, 106.577150)) //重慶的緯度經度值

.add( newLatLng( 30.63586, 103.956134)) //成都的緯度經度值

.topColor(Color.RED);

myAMap.addNavigateArrow(myNavigateArrowOptions); //繪制重慶到成都的指示箭頭

}

}

03

代碼說明

上面這段代碼在MyCode\MySampleI90\app\src\main\java\com\bin\luo\mysample\ MainActivity.java文件中。在這段代碼中,myAMap =myMapView.getMap用于根據高德地圖的顯示控件MapView獲取AMap,AMap是操作高德地圖最主要、最基本的類。在布局文件中,MapView控件的主要代碼如下面的粗體字所示:

上面這段代碼在MyCode\MySampleI90\app\src\main\res\layout\activity_main.xml文件中。需要說明的是,此實例需要在MyCode\MySampleI90\app\build.gradle文件中添加開發高德地圖的依賴項(implementation 'com.amap.api:3dmap:latest.integration'),并執行同步(Sync Now)操作。如下面的粗體字所示:

此外,還要按照下面粗體字所示的內容修改MyCode\MySampleI90\app\src\main\ AndroidManifest.xml文件:

在AndroidManifest.xml文件中,f1a5d4dd4c6cf3ecf69c892fe3301fd8是高德地圖的開發者Key,需要到高德開放平臺(https://lbs.amap.com/dev/id/choose)申請。另外,使用高德地圖的不同功能可能需要不同的依賴項及權限,甚至開發者Key,因此具體內容請參考每個實例源代碼的AndroidManifest.xml文件和build.gradle文件。<uses-permission android:name="android.permission.INTERNET"/>是網絡權限,因為使用高德地圖通常需要聯網。

此實例的完整代碼在MyCode\MySampleI90文件夾中。

04

補充說明

在測試代碼時,必須保持網絡暢通。

05

源代碼下載

關注微信公眾號,后臺回復關鍵詞 “Android App開發超實用代碼241” 即可獲得完整源代碼。

06

參考書籍

掃碼優惠購書

《Android App開發超實用代碼集錦——jQuery Mobile+OpenCV+O》

作者:羅帥、羅斌

定價:99元

問題描述+解決方案+真實源碼+效果截圖

介紹jQuery Mobile、OpenCV、OpenGL等在Android平臺運行的應用

300個實例,提供完整源代碼,邊看邊做邊學