PMMapCameraModel

class PMMapCameraModel(mapCameraCallback: PMMapCameraModelCallback = object : PMMapCameraModelCallback {})

Manage map camera setting. Provide the instance of this class to PMMapView.init and use PMMapCameraModel's methods to change the setting of map camera.

Samples

import android.app.Fragment
import android.os.Bundle
import android.util.Log
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import com.sygic.profi.sdk.party.PartyConfigProduction
import com.sygic.profi.sdk.party.map.PMMapError
import com.sygic.profi.sdk.party.map.PMMapView
import com.sygic.profi.sdk.party.map.PMMapViewAvailabilityCallback
import com.sygic.profi.sdk.party.map.PMMapViewConfig
fun main() { 
   //sampleStart 
   class MapViewFragment : Fragment() {

    override fun onCreateView(inflater: LayoutInflater?, container: ViewGroup?, savedInstanceState: Bundle?): View {
        return PMMapView(context = activity).apply {
            init(
                mapViewConfig = PMMapViewConfig(TARGET_SYGIC_PACKAGE_NAME, PartyConfigProduction),
                mapViewAvailabilityCallback = object : PMMapViewAvailabilityCallback {
                    override fun onMapDestroyed() {
                        Log.d("Map", "Map is destroyed based on view's lifecycle")
                    }

                    override fun onMapError(error: PMMapError) {
                        Log.d("Map", "Error rendering map. Create new PMMapView and try again. Cause: $error")
                    }

                    override fun onMapReady() {
                        Log.d("Map", "Map is ready to be used")
                    }
                },
                mapDataModel = PMMapDataModelHolder.mapDataModel,
                mapCameraModel = PMMapCameraModelHolder.mapCameraModel
            )
        }
    }
} 
   //sampleEnd
}
import android.util.Log
import com.sygic.profi.model.pm.map.PMMapPosition
import com.sygic.profi.model.pm.map.PMMovementMode
import com.sygic.profi.sdk.party.map.PMMapCameraModel
import com.sygic.profi.sdk.party.map.PMMapCameraModelCallback
fun main() { 
   //sampleStart 
   object PMMapCameraModelHolder {

    val mapCameraModel = PMMapCameraModel(mapCameraCallback = object : PMMapCameraModelCallback {
        override fun onSuccess() {
            Log.d("Map", "Map camera success")
        }

        override fun onFailure(exception: Throwable) {
            Log.d("Map", "Map camera failed")
        }
    })

    fun setCamera() {
        // Set camera to custom position with zoom, rotation and tilt
        mapCameraModel.setCamera(
            PMMapCameraModel.PMCamera(
                position = PMMapPosition(52.12, 20.15),
                movementMode = PMMovementMode.Free,
                zoomLevel = 16,
                rotation = 0.0,
                tilt = 0.0
        ))

        // Updates only rotation => if other parameters were previously set they stay unchanged
        mapCameraModel.setCamera(
            PMMapCameraModel.PMCamera(
                rotation = 45.0
            ))

        // Updates camera automatically to follow vehicle movement
        mapCameraModel.setCamera(
            PMMapCameraModel.PMCamera(
                movementMode = PMMovementMode.FollowVehicle
            )
        )
    }
} 
   //sampleEnd
}

Constructors

Link copied to clipboard
fun PMMapCameraModel(mapCameraCallback: PMMapCameraModelCallback = object : PMMapCameraModelCallback {})

Types

Link copied to clipboard
data class PMCamera(val position: PMMapPosition? = null, val boundingBox: PMMapBoundingBox? = null, val movementMode: PMMovementMode? = null, val zoomLevel: Int? = null, val rotation: Double? = null, val tilt: Double? = null)

Representation of map camera

Functions

Link copied to clipboard

Set the camera for map view associated with this PMMapCameraModel.