ตัวอย่างนี้แสดงวิธีฟังและจัดการเหตุการณ์บางอย่างบนแผนที่
ดูข้อมูลเพิ่มเติมได้ที่เอกสารประกอบ
เริ่มต้นใช้งาน
คุณต้องกําหนดค่าสภาพแวดล้อมการพัฒนาก่อนจึงจะลองใช้โค้ดตัวอย่างได้ ดูข้อมูลเพิ่มเติมได้ที่ตัวอย่างโค้ด Maps SDK สำหรับ Android
ดูโค้ด
Kotlin
class EventsDemoActivity : AppCompatActivity(), OnMapClickListener, OnMapLongClickListener, OnCameraIdleListener, OnMapReadyCallback { private lateinit var tapTextView: TextView private lateinit var cameraTextView: TextView private lateinit var map: GoogleMap override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.events_demo) tapTextView = findViewById(R.id.tap_text) cameraTextView = findViewById(R.id.camera_text) val mapFragment = supportFragmentManager.findFragmentById(R.id.map) as SupportMapFragment? mapFragment?.getMapAsync(this) } override fun onMapReady(googleMap: GoogleMap) { // return early if the map was not initialised properly map = googleMap map.setOnMapClickListener(this) map.setOnMapLongClickListener(this) map.setOnCameraIdleListener(this) } override fun onMapClick(point: LatLng) { tapTextView.text = "tapped, point=$point" } override fun onMapLongClick(point: LatLng) { tapTextView.text = "long pressed, point=$point" } override fun onCameraIdle() { if (!::map.isInitialized) return cameraTextView.text = map.cameraPosition.toString() } }
Java
public class EventsDemoActivity extends SamplesBaseActivity implements OnMapClickListener, OnMapLongClickListener, OnCameraIdleListener, OnMapReadyCallback { private TextView tapTextView; private TextView cameraTextView; private GoogleMap map; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.events_demo); tapTextView = findViewById(R.id.tap_text); cameraTextView = findViewById(R.id.camera_text); SupportMapFragment mapFragment = (SupportMapFragment) getSupportFragmentManager().findFragmentById(R.id.map); mapFragment.getMapAsync(this); applyInsets(findViewById(R.id.map_container)); } @Override public void onMapReady(GoogleMap map) { this.map = map; this.map.setOnMapClickListener(this); this.map.setOnMapLongClickListener(this); this.map.setOnCameraIdleListener(this); } @Override public void onMapClick(LatLng point) { tapTextView.setText("tapped, point=" + point); } @Override public void onMapLongClick(LatLng point) { tapTextView.setText("long pressed, point=" + point); } @Override public void onCameraIdle() { cameraTextView.setText(map.getCameraPosition().toString()); } }
โคลนและเรียกใช้ตัวอย่าง
คุณต้องใช้ Git เพื่อเรียกใช้ตัวอย่างนี้ในเครื่อง คำสั่งต่อไปนี้จะโคลนที่เก็บแอปพลิเคชันตัวอย่าง
git clone git@github.com:googlemaps-samples/android-samples.git
นําเข้าโปรเจ็กต์ตัวอย่างไปยัง Android Studio โดยทำดังนี้
- ใน Android Studio ให้เลือกไฟล์ > ใหม่ > นำเข้าโปรเจ็กต์
ไปที่ตำแหน่งที่คุณบันทึกที่เก็บไว้ แล้วเลือกไดเรกทอรีโปรเจ็กต์สำหรับ Kotlin หรือ Java
- Kotlin:
PATH-REPO/android-samples/ApiDemos/kotlin
- Java:
PATH-REPO/android-samples/ApiDemos/java
- Kotlin:
- เลือกเปิด Android Studio จะสร้างโปรเจ็กต์โดยใช้เครื่องมือบิลด์ Gradle
- สร้างไฟล์
secrets.properties
ว่างในไดเรกทอรีเดียวกับไฟล์local.properties
ของโปรเจ็กต์ ดูข้อมูลเพิ่มเติมเกี่ยวกับไฟล์นี้ได้ที่หัวข้อเพิ่มคีย์ API ลงในโปรเจ็กต์ - รับคีย์ API จากโปรเจ็กต์ที่เปิดใช้ Maps SDK สำหรับ Android
เพิ่มสตริงต่อไปนี้ลงใน
secrets.properties
โดยแทนที่ YOUR_API_KEY ด้วยค่าของคีย์ APIMAPS_API_KEY=YOUR_API_KEY
- เรียกใช้แอป