ตั้งค่าโปรเจ็กต์ Android Studio

จัดทุกอย่างให้เป็นระเบียบอยู่เสมอด้วยคอลเล็กชัน บันทึกและจัดหมวดหมู่เนื้อหาตามค่ากำหนดของคุณ

หน้านี้จะอธิบายวิธีกําหนดค่าโปรเจ็กต์ Android Studio เพื่อใช้ Maps SDK สําหรับ Android โดยไม่ต้องใช้เทมเพลต Google Maps ที่มีรายละเอียดในคู่มือเริ่มใช้งานฉบับย่อ

เทมเพลต Google Maps จะกําหนดค่าและเพิ่มแผนที่พื้นฐานลงในโปรเจ็กต์ Android Studio ใหม่โดยอัตโนมัติ อย่างไรก็ตาม คุณอาจเพิ่มแผนที่ลงในโปรเจ็กต์ Android ที่ใช้เทมเพลต Android Studio แบบอื่นได้ด้วย โดยต้องกําหนดค่าโปรเจ็กต์ด้วยตนเอง แล้วเพิ่มแผนที่

ขั้นตอนที่ 1: ตั้งค่า Android Studio

  1. ต้องใช้ Android Studio Arctic Fox ขึ้นไป หากยังไม่ได้ติดตั้ง ให้ดาวน์โหลดและติดตั้ง
  2. ตรวจสอบว่าคุณใช้ปลั๊กอิน Android Gradle เวอร์ชัน 7.0 ขึ้นไปใน Android Studio

ขั้นตอนที่ 2 ตั้งค่า SDK

ไลบรารี Maps SDK สําหรับ Android พร้อมใช้งานผ่าน ที่เก็บ Maven ของ Google หากต้องการเพิ่ม SDK ลงในแอป ให้ทําดังนี้

  1. ในไฟล์ settings.gradle ระดับบนสุด ให้ใส่พอร์ทัลปลั๊กอิน Gradle, ที่เก็บ Google Maven และที่เก็บส่วนกลางของ Maven ในส่วนบล็อก pluginManagement บล็อก pluginManagement ต้องปรากฏก่อนใบแจ้งยอดอื่นๆ ในสคริปต์
    pluginManagement {
        repositories {
            gradlePluginPortal()
            google()
            mavenCentral()
        }
    } 
  2. ในไฟล์ settings.gradle ระดับบนสุด ให้ใส่ที่เก็บ Maven ของ Google และที่เก็บส่วนกลางของ Maven ในส่วนบล็อก dependencyResolutionManagement ดังนี้
    dependencyResolutionManagement {
        repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
        repositories {
            google()
            mavenCentral()
        }
    } 
  3. ในไฟล์ build.gradle ระดับโมดูล ให้เพิ่มทรัพยากร Dependency ของบริการ Google Play สําหรับ Maps SDK สําหรับ Android
    dependencies {
        implementation 'com.google.android.gms:play-services-maps:18.1.0'
        // ...
    } 
  4. ในไฟล์ build.gradle ระดับโมดูล ให้ตั้งค่า compileSdk และ minSdk เป็นค่าต่อไปนี้
    android {
        compileSdk 31
    
        defaultConfig {
            minSdk 19
            // ...
        }

ขั้นตอนที่ 3: เพิ่มคีย์ API ลงในโปรเจ็กต์

ส่วนนี้จะอธิบายวิธีจัดเก็บคีย์ API เพื่อให้แอปอ้างอิงได้อย่างปลอดภัย คุณไม่ควรตรวจสอบคีย์ API ในระบบควบคุมเวอร์ชัน เราจึงขอแนะนําให้จัดเก็บคีย์ในไฟล์ local.properties ซึ่งอยู่ในไดเรกทอรีรากของโปรเจ็กต์ ดูข้อมูลเพิ่มเติมเกี่ยวกับไฟล์ local.properties ได้ที่ไฟล์พร็อพเพอร์ตี้ Gradle

หากต้องการปรับปรุงงานนี้ เราขอแนะนําให้ใช้ปลั๊กอินข้อมูลลับ Gradle สําหรับ Android วิธีติดตั้งปลั๊กอินและจัดเก็บคีย์ API

  1. ใน Android Studio ให้เปิดไฟล์ build.gradle ระดับโปรเจ็กต์ แล้วเพิ่มโค้ดต่อไปนี้ลงในองค์ประกอบ dependencies ในส่วน buildscript
    plugins {
        // ...
        id 'com.google.android.libraries.mapsplatform.secrets-gradle-plugin' version '2.0.1' apply false
    }
  2. จากนั้นเปิดไฟล์ build.gradle ระดับโมดูล แล้วเพิ่มโค้ดต่อไปนี้ลงในองค์ประกอบ plugins
    id 'com.google.android.libraries.mapsplatform.secrets-gradle-plugin'
        
  3. บันทึกไฟล์และซิงค์โปรเจ็กต์กับ Gradle
  4. เปิด local.properties ในไดเรกทอรีระดับโปรเจ็กต์ แล้วเพิ่มโค้ดต่อไปนี้ แทนที่ YOUR_API_KEY ด้วยคีย์ API ของคุณ
    MAPS_API_KEY=YOUR_API_KEY
        
  5. บันทึกไฟล์
  6. ในไฟล์ AndroidManifest.xml ให้ไปที่ com.google.android.geo.API_KEY และอัปเดต android:value attribute ดังนี้
    <meta-data
        android:name="com.google.android.geo.API_KEY"
        android:value="${MAPS_API_KEY}" />
        

หมายเหตุ: ดังที่แสดงด้านบน com.google.android.geo.API_KEY เป็นชื่อข้อมูลเมตาที่แนะนําสําหรับคีย์ API คีย์ที่ใช้ชื่อนี้จะใช้ตรวจสอบสิทธิ์กับ API ต่างๆ ที่ใช้ Google Maps บนแพลตฟอร์ม Android ได้ ซึ่งรวมถึง Maps SDK สําหรับ Android เพื่อให้เข้ากันได้กับแผนเดิม API รองรับชื่อ com.google.android.maps.v2.API_KEY ด้วย ชื่อเดิมนี้อนุญาตให้มีการตรวจสอบสิทธิ์กับ Android Maps API v2 เท่านั้น แอปพลิเคชันระบุชื่อข้อมูลเมตาคีย์ API ได้เพียงชื่อเดียวเท่านั้น หากมีการระบุทั้ง 2 แบบ API จะยกเว้นข้อยกเว้น

ขั้นตอนที่ 4: อัปเดตไฟล์ Manifest ของแอป

ส่วนนี้จะอธิบายการตั้งค่าสําหรับเพิ่มลงในไฟล์ AndroidManifest.xml

หมายเลขเวอร์ชันของบริการ Google Play

เพิ่มการประกาศต่อไปนี้ภายในองค์ประกอบ application การดําเนินการนี้จะฝังเวอร์ชันของบริการ Google Play ที่ใช้คอมไพล์แอป

<meta-data
    android:name="com.google.android.gms.version"
    android:value="@integer/google_play_services_version" />

สิทธิ์เข้าถึงตำแหน่ง

หากแอปจําเป็นต้องเข้าถึงตําแหน่งของผู้ใช้ คุณต้องขอสิทธิ์เข้าถึงตําแหน่งในไฟล์ AndroidManifest.xml ตัวเลือกคือ ACCESS_FINE_LOCATION ซึ่งจะระบุตําแหน่งของอุปกรณ์ที่แน่นอน และ ACCESS_COARSE_LOCATION ซึ่งแม่นยําน้อยกว่า โปรดดูรายละเอียดในคู่มือข้อมูลตําแหน่ง

หากต้องการขอสิทธิ์ ACCESS_FINE_LOCATION ให้เพิ่มโค้ดนี้ลงในองค์ประกอบ manifest:

<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>

สิทธิ์พื้นที่เก็บข้อมูลภายนอก

หากกําหนดเป้าหมาย SDK บริการ Google Play เวอร์ชัน 8.3 ขึ้นไป ก็ไม่จําเป็นต้องมีสิทธิ์ WRITE_EXTERNAL_STORAGE หากกําหนดเป้าหมาย SDK บริการ Google Play เวอร์ชันก่อนหน้า คุณต้องส่งคําขอสิทธิ์ WRITE_EXTERNAL_STORAGE ในองค์ประกอบ manifest

<uses-permission
        android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

ไลบรารี Apache HTTP รุ่นเดิม

หากคุณใช้ com.google.android.gms:play-services-maps:16.0.0 หรือต่ํากว่า และแอปของคุณกําหนดเป้าหมายเป็น API ระดับ 28 (Android 9.0) ขึ้นไป คุณต้องใส่การประกาศต่อไปนี้ภายในองค์ประกอบ <application> ของ AndroidManifest.xml มิฉะนั้น ให้ข้ามการประกาศนี้

<uses-library
    android:name="org.apache.http.legacy"
    android:required="false" />

ขั้นตอนที่ 5: ตั้งค่าอุปกรณ์ Android

หากต้องการเรียกใช้แอปที่ใช้ Maps SDK สําหรับ Android คุณต้องทําให้แอปใช้งานได้ในอุปกรณ์ Android หรือโปรแกรมจําลอง Android ที่ใช้ Android 4.0 ขึ้นไป และมี Google API

  • หากต้องการใช้อุปกรณ์ Android ให้ทําตามวิธีการที่เรียกใช้แอปในอุปกรณ์ฮาร์ดแวร์
  • หากต้องการใช้โปรแกรมจําลอง Android คุณสร้างอุปกรณ์เสมือนจริงและติดตั้งโปรแกรมจําลองได้โดยใช้โปรแกรมจัดการอุปกรณ์เสมือน Android (AVD) ที่มาพร้อมกับ Android Studio

ขั้นตอนถัดไป

เมื่อกําหนดค่าโปรเจ็กต์แล้ว คุณจะเพิ่มแผนที่ได้