malikdawar / drawroute

DrawRoute wraps Google Directions API (https://developers.google.com/maps/documentation/directions/) using RxJava for Android so developers can download, parse and draw path on the map in very fast and flexible way (For now only JSON support).
MIT License
90 stars 17 forks source link

I got these warning and the drawRouteOnMap doesn't work , what should I do , i have done some research but nothing is useful #15

Closed z0ro25 closed 2 years ago

z0ro25 commented 2 years ago
W/soft.ecoshippe: Accessing hidden method Lcom/android/org/conscrypt/ConscryptEngineSocket;->setUseSessionTickets(Z)V (greylist-max-q,core-platform-api, reflection, denied)
    Accessing hidden method Lcom/android/org/conscrypt/OpenSSLSocketImpl;->setUseSessionTickets(Z)V (greylist-max-q,core-platform-api, reflection, denied)
    Accessing hidden method Lcom/android/org/conscrypt/AbstractConscryptSocket;->setUseSessionTickets(Z)V (greylist-max-q, reflection, denied)
W/soft.ecoshippe: Accessing hidden method Lcom/android/org/conscrypt/ConscryptEngineSocket;->setHostname(Ljava/lang/String;)V (greylist-max-q,core-platform-api, reflection, denied)
    Accessing hidden method Lcom/android/org/conscrypt/OpenSSLSocketImpl;->setHostname(Ljava/lang/String;)V (greylist-max-q,core-platform-api, reflection, denied)
    Accessing hidden method Lcom/android/org/conscrypt/AbstractConscryptSocket;->setHostname(Ljava/lang/String;)V (greylist-max-q, reflection, denied)
    Accessing hidden method Lcom/android/org/conscrypt/OpenSSLSocketImpl;->setAlpnProtocols([B)V (greylist-max-q,core-platform-api, reflection, denied)
    Accessing hidden method Lcom/android/org/conscrypt/AbstractConscryptSocket;->setAlpnProtocols([B)V (greylist-max-q, reflection, denied)
W/soft.ecoshippe: Accessing hidden method Lcom/android/org/conscrypt/OpenSSLSocketImpl;->getAlpnSelectedProtocol()[B (greylist-max-q,core-platform-api, reflection, denied)
    Accessing hidden method Lcom/android/org/conscrypt/AbstractConscryptSocket;->getAlpnSelectedProtocol()[B (greylist-max-q, reflection, denied)

i just need to drawRoute between my 2 point but when the project run to drawRouteOnMap function these happen

here is my maps activity :

class TaskMapsActivity : AppCompatActivity() {
    lateinit var mapFragment: SupportMapFragment
    lateinit var mMap: GoogleMap
    lateinit var binding: ActivityTaskMapsBinding
    lateinit var client: FusedLocationProviderClient
    private var currentPosition = LatLng(0.0,0.0)
    private var newPost = LatLng(0.0,0.0)
    private val permissionRequest =
        registerForActivityResult(ActivityResultContracts.RequestPermission()) { isGranted ->
            if (isGranted) {
                mapFragment =
                    supportFragmentManager.findFragmentById(R.id.map) as SupportMapFragment
                client = LocationServices.getFusedLocationProviderClient(this)
                getCurrentLocation()
            }
        }

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        binding = ActivityTaskMapsBinding.inflate(layoutInflater)
        setContentView(binding.root)
        if (ActivityCompat.checkSelfPermission(
                this,
                android.Manifest.permission.ACCESS_FINE_LOCATION
            ) == PackageManager.PERMISSION_GRANTED
        ) {
            mapFragment = supportFragmentManager.findFragmentById(R.id.map) as SupportMapFragment
            client = LocationServices.getFusedLocationProviderClient(this)
            getCurrentLocation()
        } else {
            permissionRequest.launch(android.Manifest.permission.ACCESS_FINE_LOCATION)
        }
        binding.btnBackFromMaps.setOnClickListener {
            this.finish()
        }
        binding.yourPossitionPoint.setOnClickListener {
            mMap.moveCamera(CameraUpdateFactory.newLatLngZoom(currentPosition,15f))
        }
        binding.targetPossitionPoint.setOnClickListener {
            if (newPost != LatLng(0.0,0.0)){
                mMap.moveCamera(CameraUpdateFactory.newLatLngZoom(newPost,15f))
            }else Toast.makeText(this,"you have not select new location",Toast.LENGTH_SHORT).show()
        }
    }
    @SuppressLint("MissingPermission")
    private fun getCurrentLocation() {
        val task: Task<Location> = client.lastLocation
        task.addOnSuccessListener { location ->
            if (location != null){
                mapFragment.getMapAsync { googleMap ->
                    mMap = googleMap
                    currentPosition = LatLng(location.latitude, location.longitude)
                    mMap.addMarker(
                        MarkerOptions().position(currentPosition).title(getString(R.string.MarkerTitle))
                            .icon(BitmapDescriptorFactory.defaultMarker(BitmapDescriptorFactory.HUE_RED))
                    )
                    mMap.moveCamera(CameraUpdateFactory.newLatLngZoom(currentPosition, 15f))
                    mMap.setOnMapClickListener {
                       newPost = it
                        mMap.addMarker(
                            MarkerOptions().position(newPost).title("new position")
                                .icon(BitmapDescriptorFactory.defaultMarker(BitmapDescriptorFactory.HUE_BLUE))
                        )
                        mMap.drawRouteOnMap(
                           mapsApiKey = getString(R.string.google_maps_key),
                            source = currentPosition,
                            destination =  newPost,
                            color = getColor(R.color.red),
                            travelMode = TravelMode.DRIVING,
                            context =  this@TaskMapsActivity
                        )
                    }
                }
            }
        }
    }
malikdawar commented 2 years ago

The issue seems to be on the API side, talk talk. you may send me an invite for tomorrow at 11am CEST via malikdawar332@gmail.com

z0ro25 commented 2 years ago

ok

z0ro25 commented 2 years ago

let me check again from the api side

malikdawar commented 2 years ago
Screenshot at Dec 26 9-43-20 PM

@z0ro25 you may need to enable the directions API or need to add a billing account with your GCP API to use the directions API. The library is working fine.