หน้านี้จะอธิบายวิธีกําหนดค่าโครงการ Android Studio เพื่อใช้ Maps SDK สําหรับ Android โดยไม่ต้องใช้เทมเพลต Google Maps ที่มีรายละเอียดใน Startstart
เทมเพลต Google Maps จะกําหนดค่าและเพิ่มแผนที่พื้นฐานลงในโปรเจ็กต์ Android Studio ใหม่โดยอัตโนมัติ อย่างไรก็ตาม คุณเพิ่มแผนที่ลงในโครงการ Android ที่ใช้เทมเพลต Android Studio อื่นได้ หากต้องการดําเนินการดังกล่าว คุณต้องกําหนดค่าโครงการด้วยตนเอง แล้วเพิ่มแผนที่
ขั้นตอนที่ 1: ตั้งค่า Android Studio
- ต้องมี Android Studio Arctic Fox ขึ้นไป หากยังไม่ได้ดําเนินการ ให้ดาวน์โหลดและติดตั้ง
- ตรวจสอบว่าคุณใช้ ปลั๊กอิน Android Gradle เวอร์ชัน 7.0 ขึ้นไปใน Android Studio
ขั้นตอนที่ 2 ตั้งค่า SDK
ไลบรารี Maps SDK สําหรับ Android มีให้ใช้งานผ่าน ที่เก็บ Maven ของ Google หากต้องการเพิ่ม SDK ลงในแอป ให้ทําตามขั้นตอนต่อไปนี้
- ในไฟล์
settings.gradle
ระดับบนสุด ให้ระบุพอร์ทัลปลั๊กอิน Gradle, ที่เก็บของ Google Maven และที่เก็บส่วนกลางของ Maven ในส่วนบล็อกpluginManagement
บล็อกpluginManagement
ต้องอยู่ก่อนคําสั่งอื่นๆ ในสคริปต์pluginManagement { repositories { gradlePluginPortal() google() mavenCentral() } }
- ในไฟล์
settings.gradle
ระดับบนสุด ให้ใส่ที่เก็บ Maven ของ Google และที่เก็บส่วนกลางของ Maven ภายในบล็อกdependencyResolutionManagement
dependencyResolutionManagement { repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS) repositories { google() mavenCentral() } }
- ในไฟล์
build.gradle
ระดับโมดูล ให้เพิ่มทรัพยากรบริการ Google Play สําหรับ Maps SDK สําหรับ Androiddependencies { implementation 'com.google.android.gms:play-services-maps:18.1.0' // ... }
- ในไฟล์
build.gradle
ระดับโมดูล ให้ตั้งค่าcompileSdk
และminSdk
เป็นค่าต่อไปนี้android { compileSdk 31 defaultConfig { minSdk 19 // ... }
ขั้นตอนที่ 3: เพิ่มคีย์ API ลงในโปรเจ็กต์
ส่วนนี้จะอธิบายวิธีเก็บคีย์ API เพื่อให้แอปอ้างอิงได้อย่างปลอดภัย คุณไม่ควรตรวจสอบคีย์ API ในระบบควบคุมเวอร์ชัน เราจึงขอแนะนําให้เก็บคีย์ดังกล่าวในไฟล์ local.properties
ซึ่งอยู่ในไดเรกทอรีรากของโปรเจ็กต์ ดูข้อมูลเพิ่มเติมเกี่ยวกับไฟล์ local.properties
ได้ที่ไฟล์พร็อพเพอร์ตี้ Gradle
หากต้องการเพิ่มประสิทธิภาพการทํางานนี้ เราขอแนะนําให้คุณใช้ปลั๊กอิน Gradle สําหรับ Android วิธีติดตั้งปลั๊กอินและเก็บคีย์ API
- ใน Android Studio ให้เปิดไฟล์
build.gradle
ระดับโปรเจ็กต์แล้วเพิ่มโค้ดต่อไปนี้ลงในองค์ประกอบdependencies
ในส่วนbuildscript
plugins { // ... id 'com.google.android.libraries.mapsplatform.secrets-gradle-plugin' version '2.0.1' apply false }
- จากนั้นเปิดไฟล์
build.gradle
ระดับโมดูลแล้วเพิ่มโค้ดต่อไปนี้ลงในองค์ประกอบplugins
id 'com.google.android.libraries.mapsplatform.secrets-gradle-plugin'
- บันทึกไฟล์และซิงค์โปรเจ็กต์ของคุณกับ Gradle
- เปิด
local.properties
ในไดเรกทอรีระดับโปรเจ็กต์ แล้วเพิ่มโค้ดต่อไปนี้ แทนที่YOUR_API_KEY
ด้วยคีย์ APIMAPS_API_KEY=YOUR_API_KEY
- บันทึกไฟล์
- ในไฟล์
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 ได้เพียงชื่อเดียวเท่านั้น หากระบุทั้งคู่ 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 Legacy
หากคุณใช้ 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
ขั้นตอนถัดไป
เมื่อกําหนดค่าโปรเจ็กต์แล้ว คุณจะเพิ่มแผนที่ได้