এই উদাহরণে দেখানো হয়েছে কীভাবে ম্যাপে কিছু ইভেন্ট শুনতে ও ম্যানেজ করতে হয়।
আরও তথ্যের জন্য, ডকুমেন্টেশন দেখুন।
শুরু করুন
স্যাম্পেল কোড ব্যবহার করে দেখার আগে, আপনাকে ডেভেলপমেন্ট এনভায়রনমেন্ট কনফিগার করতে হবে। আরও তথ্যের জন্য, Android-এর জন্য Maps SDK কোড স্যাম্পেল দেখুন।
কোড দেখুন
Kotlin
class EventsDemoActivity : SamplesBaseActivity(), OnMapClickListener, OnMapLongClickListener, OnCameraIdleListener, OnCameraMoveListener, 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) applyInsets(findViewById(R.id.map_container)) } override fun onMapReady(googleMap: GoogleMap) { map = googleMap map.setOnMapClickListener(this) map.setOnMapLongClickListener(this) map.setOnCameraMoveListener(this) map.setOnCameraIdleListener(this) updateCameraPosition() } override fun onMapClick(point: LatLng) { val lat = String.format(Locale.US, "%.6f", point.latitude) val lng = String.format(Locale.US, "%.6f", point.longitude) tapTextView.text = getString(R.string.events_tapped_format, lat, lng) } override fun onMapLongClick(point: LatLng) { val lat = String.format(Locale.US, "%.6f", point.latitude) val lng = String.format(Locale.US, "%.6f", point.longitude) tapTextView.text = getString(R.string.events_long_pressed_format, lat, lng) } override fun onCameraMove() { updateCameraPosition() } override fun onCameraIdle() { updateCameraPosition() } private fun updateCameraPosition() { if (!::map.isInitialized) return val pos = map.cameraPosition val lat = String.format(Locale.US, "%.6f", pos.target.latitude) val lng = String.format(Locale.US, "%.6f", pos.target.longitude) val zoom = String.format(Locale.US, "%.1f", pos.zoom) val tilt = String.format(Locale.US, "%.1f", pos.tilt) val bearing = String.format(Locale.US, "%.1f", pos.bearing) cameraTextView.text = getString(R.string.events_camera_position_format, lat, lng, zoom, tilt, bearing) } }
Java
public class EventsDemoActivity extends SamplesBaseActivity implements OnMapClickListener, OnMapLongClickListener, OnCameraIdleListener, GoogleMap.OnCameraMoveListener, OnMapReadyCallback { private TextView tapTextView; private TextView cameraTextView; private GoogleMap map; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(com.example.common_ui.R.layout.events_demo); tapTextView = findViewById(com.example.common_ui.R.id.tap_text); cameraTextView = findViewById(com.example.common_ui.R.id.camera_text); SupportMapFragment mapFragment = (SupportMapFragment) getSupportFragmentManager().findFragmentById(com.example.common_ui.R.id.map); mapFragment.getMapAsync(this); applyInsets(findViewById(com.example.common_ui.R.id.map_container)); } @Override public void onMapReady(GoogleMap map) { this.map = map; this.map.setOnMapClickListener(this); this.map.setOnMapLongClickListener(this); this.map.setOnCameraMoveListener(this); this.map.setOnCameraIdleListener(this); updateCameraPosition(); } @Override public void onMapClick(LatLng point) { String lat = String.format(Locale.US, "%.6f", point.latitude); String lng = String.format(Locale.US, "%.6f", point.longitude); tapTextView.setText(getString(com.example.common_ui.R.string.events_tapped_format, lat, lng)); } @Override public void onMapLongClick(LatLng point) { String lat = String.format(Locale.US, "%.6f", point.latitude); String lng = String.format(Locale.US, "%.6f", point.longitude); tapTextView.setText(getString(com.example.common_ui.R.string.events_long_pressed_format, lat, lng)); } @Override public void onCameraMove() { updateCameraPosition(); } @Override public void onCameraIdle() { updateCameraPosition(); } private void updateCameraPosition() { if (map == null) return; com.google.android.gms.maps.model.CameraPosition pos = map.getCameraPosition(); String lat = String.format(Locale.US, "%.6f", pos.target.latitude); String lng = String.format(Locale.US, "%.6f", pos.target.longitude); String zoom = String.format(Locale.US, "%.1f", pos.zoom); String tilt = String.format(Locale.US, "%.1f", pos.tilt); String bearing = String.format(Locale.US, "%.1f", pos.bearing); cameraTextView.setText(getString( com.example.common_ui.R.string.events_camera_position_format, lat, lng, zoom, tilt, bearing )); } }
স্যাম্পেল ক্লোন করে রান করানো
এই স্যাম্পেল লোকালি চালানোর জন্য 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:
- খুলুন বিকল্প বেছে নিন। Gradle বিল্ড টুল ব্যবহার করে Android Studio আপনার প্রোজেক্ট বিল্ড করে।
- আপনার প্রোজেক্টের
local.propertiesফাইলের মতো একই ডিরেক্টরিতে একটি ফাঁকাsecrets.propertiesফাইল তৈরি করুন। এই ফাইল সম্পর্কে আরও তথ্য পেতে, প্রোজেক্টে আপনার API কী যোগ করুন দেখুন। - Maps SDK for Android চালু আছে এমন প্রোজেক্ট থেকে API কী পান।
secrets.properties-এ নিম্নলিখিত স্ট্রিং যোগ করুন, আপনার API কী-এর ভ্যালু দিয়ে YOUR_API_KEY পরিবর্তন করুন:MAPS_API_KEY=YOUR_API_KEY- অ্যাপটি চালান।