在地圖上新增標記

選取平台: Android iOS JavaScript

3D 地圖上的標記

下列程式碼範例說明如何呼叫 addMarker 方法,在地圖中新增基本標記。如要使用這個程式碼範例,請按照「設定」和「在應用程式中加入 3D 地圖」中的操作說明,在 Android Studio 專案中設定基本 3D 地圖。然後將下列程式碼新增至 MainActivity.kt 檔案:

// Add imports
import com.google.android.gms.maps3d.model.latLngAltitude

...

// Add to the onMap3DViewReady method, after the googleMap3D object has been initialized
googleMap3D.setMapMode(Map3DMode.SATELLITE)

googleMap3D.setCamera(
    camera {
        center = latLngAltitude {
            latitude = 52.51974795
            longitude = 13.40715553
            altitude = 150.0
        }
        heading = 252.7
        tilt = 79.0
        range = 1500.0
    }
)

// Add a marker using absolute altitude positioning
googleMap3D.addMarker(markerOptions {
    position = latLngAltitude {
        latitude = 52.519605780912585
        longitude = 13.406867190588198
        altitude = 150.0
    }
    label = "Absolute (150m)"
    altitudeMode = AltitudeMode.ABSOLUTE
    isExtruded = true
    isDrawnWhenOccluded = true
    collisionBehavior = CollisionBehavior.REQUIRED_AND_HIDES_OPTIONAL
})

監聽標記點擊事件

如要監聽標記的點擊事件,請在標記物件上呼叫 setClickListener。以下範例說明如何在標記上設定點擊事件監聽器:

  marker.setClickListener {
      lifecycleScope.launch(Dispatchers.Main) {
          Toast.makeText(this@MarkersActivity, "Clicked on marker: ${marker.label}", Toast.LENGTH_SHORT)
              .show()
      }
  }
  

請注意,點擊處理常式不會在主 (或 UI) 執行緒上執行。如要變更 UI (例如顯示 Toast 訊息),請務必切換至 Main 執行緒。如果是 Kotlin,您可以使用 lifecycleScope.launch(Dispatchers.Main) 達成此效果。