Correcting bugs with hit tests on RecenterOverlay and NewRoadtripOverlay

pull/7/head
Arthur VALIN 2 years ago
parent 027ef27758
commit 5ea669fd5f

@ -4,7 +4,10 @@ import android.graphics.Canvas
import android.graphics.Color import android.graphics.Color
import android.graphics.Paint import android.graphics.Paint
import android.graphics.RectF import android.graphics.RectF
import android.util.Log
import android.view.MotionEvent
import androidx.core.content.ContextCompat import androidx.core.content.ContextCompat
import org.osmdroid.util.GeoPoint
import org.osmdroid.views.MapView import org.osmdroid.views.MapView
import org.osmdroid.views.overlay.Overlay import org.osmdroid.views.overlay.Overlay
@ -19,9 +22,8 @@ class NewRoadtripOverlay() : Overlay() {
val circleSize = 300f val circleSize = 300f
val circlePadding = 20f val circlePadding = 20f
val circleX = canvas.width - circleSize - circlePadding
val circleY = canvas.height - circleSize - circlePadding val circleY = canvas.height - circleSize - circlePadding
circleRectF=RectF(circleX, circleY, circleX + circleSize, circleY + circleSize) circleRectF= RectF(circlePadding, circleY, circlePadding + circleSize, circleY + circleSize)
val paint = Paint().apply { val paint = Paint().apply {
color = Color.WHITE color = Color.WHITE
@ -45,4 +47,11 @@ class NewRoadtripOverlay() : Overlay() {
icon?.draw(canvas) icon?.draw(canvas)
} }
override fun onSingleTapConfirmed(e: MotionEvent?, mapView: MapView?) =
if (e != null && circleRectF.contains(e.x, e.y)) {
Log.d("GeoRoad", "CONFIRM")
true
}else{
false
}
} }

@ -2,6 +2,7 @@ package uca.baptistearthur.geocaching.ui.overlay
import android.graphics.* import android.graphics.*
import android.location.Location import android.location.Location
import android.util.Log
import android.view.MotionEvent import android.view.MotionEvent
import androidx.core.content.ContextCompat import androidx.core.content.ContextCompat
import org.osmdroid.util.GeoPoint import org.osmdroid.util.GeoPoint
@ -83,11 +84,14 @@ class RecenterOverlay(val myLocationProvider: IMyLocationProvider, val mapView:
override fun onSingleTapConfirmed(e: MotionEvent?, mapView: MapView?) = override fun onSingleTapConfirmed(e: MotionEvent?, mapView: MapView?) =
myLocationProvider.lastKnownLocation?.let { myLocationProvider.lastKnownLocation?.let {
if (e != null && circleRectF.contains(e.x, e.y)) { if (e != null && circleRectF.contains(e.x, e.y)) {
Log.d("GeoRoad", "RECENTER")
mapView?.controller?.setCenter(GeoPoint(it.latitude, it.longitude)) mapView?.controller?.setCenter(GeoPoint(it.latitude, it.longitude))
mapView?.controller?.setZoom(21.0); mapView?.controller?.setZoom(21.0);
enableMyLocation() enableMyLocation()
true
}else{
false
} }
true
} ?: false } ?: false

Loading…
Cancel
Save