iT邦幫忙

2019 iT 邦幫忙鐵人賽

DAY 20
0
Software Development

Java 與 Kotlin 入門系列 第 20

[DAY20]GoogleMap

今天來介紹一下GoogleMap吧

首先創建一個Google的Activity。
Imgur
再來進去res裡面的value資料夾找到一個叫google_maps_api的檔案。
Imgur

  • 第一是進去這個網址,去弄個api金鑰。
  • 第二則是將這個api金鑰輸入這裡。

看一下權限設定

   <!-- 需要攝錄鏡頭設備 -->
    <uses-feature android:name="android.hardware.camera" />
    <!-- 寫入外部儲存設備 -->
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
    <!-- 如果應用程式需要使用裝置的錄音設備,必須在應用程式設定檔 -->
    <uses-permission android:name="android.permission.RECORD_AUDIO" />
    <!-- 新增地圖元件的時候,自動加入的設定 -->
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
    <!--
         The ACCESS_COARSE/FINE_LOCATION permissions are not required to use
         Google Maps Android API v2, but you must specify either coarse or fine
         location permissions for the 'MyLocation' functionality. 
    -->
    <!--//google map-->
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
  • 上面都有加註解囉!
case R.id.set_location:
// 啟動地圖元件用的Intent物件
Intent intentMap = new Intent(this, MapsActivity.class);
// 啟動地圖元件
startActivityForResult(intentMap, START_LOCATION);
break;
  • 開啟來試試看唄。
  • 會發現固定的位置哦像下面這張圖一樣。
    Imgur
// 移動地圖到參數指定的位置
private void moveMap(LatLng place) {
    // 建立地圖攝影機的位置物件
    CameraPosition cameraPosition =
            new CameraPosition.Builder()
            .target(place)
            .zoom(17)
            .build();
 
    // 使用動畫的效果移動地圖
    mMap.animateCamera(CameraUpdateFactory.newCameraPosition(cameraPosition));
}
  • 在onMapReady時呼叫他。
  • 動畫效果移動,感覺酷炫。
// 在地圖加入指定位置與標題的標記
private void addMarker(LatLng place, String title, String context) {
    BitmapDescriptor icon =
            BitmapDescriptorFactory.fromResource(R.mipmap.ic_launcher);
 
    MarkerOptions markerOptions = new MarkerOptions();
    markerOptions.position(place)
            .title(title)
            .snippet(context)
            .icon(icon);
 
    mMap.addMarker(markerOptions);
}
  • 再來我們來為地點標記一下mark
  • 利用BitmapDescriptor,轉換一下圖片,再利用MarkerOptions插我們的圖標,以及置放文字。

上一篇
[DAY19]MediaRecoder-02
下一篇
[DAY21]MediaActivity
系列文
Java 與 Kotlin 入門30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言