Bu örnekte, harita üzerinde bazı etkinliklerin nasıl dinleneceği ve işleneceği gösterilmektedir.
Daha fazla bilgi için belgelere bakın.
Başlayın
Örnek kodu denemeden önce geliştirme ortamınızı yapılandırmanız gerekir. Daha fazla bilgi edinmek üzere Android kod örnekleri için Haritalar SDK'sı konusuna bakın.
Kodu göster
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 AppCompatActivity 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); } @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()); } }
Örnekleri klonlama ve çalıştırma
Bu örneği yerel olarak çalıştırmak için Git gereklidir. Aşağıdaki komut, örnek uygulama deposunu klonlar.
git clone git@github.com:googlemaps-samples/android-samples.git
Örnek projeyi Android Studio'ya aktarın:
- Android Studio'da Dosya > Yeni > Projeyi İçe Aktar'ı seçin.
Depoyu kaydettiğiniz konuma gidin ve Kotlin veya Java için proje dizinini seçin:
- Kotlin:
PATH-REPO/android-samples/ApiDemos/kotlin
- Java:
PATH-REPO/android-samples/ApiDemos/java
- Kotlin:
- Aç'ı seçin. Android Studio, projenizi Gradle derleme aracını kullanarak oluşturur.
- Projenizin
local.properties
dosyasıyla aynı dizinde boş birsecrets.properties
dosyası oluşturun. Daha fazla bilgi için API anahtarınızı projeye ekleme başlıklı makaleye bakın. Aşağıdaki dizeyi
secrets.properties
alanına ekleyerek YOUR_API_KEY kısmını API anahtarınızın değeriyle değiştirin:MAPS_API_KEY=YOUR_API_KEY
- Uygulamayı çalıştırın.