You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Hello, I am creating a waypointv3 application and I wonder how can I delete the waypoint markers the application draws me. The code I got mostly from the sample app.
`
fun markWaypoints() {
// version参数实际未用到
//Lista de waypoints
val parseInfo = JNIWPMZManager.getWaylines("1.0.0", curMissionPath)
//Lista de waylines
var waylines = parseInfo.waylines
waylines.forEach() {
waypoints.addAll(it.waypoints)
markLine(it.waypoints)
}
waypoints.forEach() {
markWaypoint(DJILatLng(it.location.latitude, it.location.longitude), it.waypointIndex)
}
val firstWaypoint = waypoints.first()
val djilatlng1 = DJILatLng(firstWaypoint.location.latitude, firstWaypoint.location.longitude)
val djilatlng2 = DJILatLng(firstWaypoint.location.latitude, firstWaypoint.location.longitude)
val localWaypoint = DJILatLngBounds(djilatlng1, djilatlng2)
map_widget.map?.animateCamera(DJICameraUpdateFactory.newLatLngBounds(localWaypoint, 0))
}
fun clearWaypoints() {
// Limpa a lista de waypoints
waypoints.clear()
// Remove todos os marcadores e linhas do mapa
//removeAllLines()
}
fun removeAllLines() {
//deletes all markers, even the ones I dont want to
map_widget.map?.clear()
}
fun markWaypoint(latlong: DJILatLng, waypointIndex: Int) : DJIMarker?{
var markOptions = DJIMarkerOptions()
markOptions.position(latlong)
markOptions.icon(getMarkerRes(waypointIndex, 0f))
markOptions.title(waypointIndex.toString())
markOptions.isInfoWindowEnable = true
//map_widget.map?.animateCamera(CameraUpdateFactory.newLatLngZoom(markOptions, 15),2000, null);
return map_widget.map?.addMarker(markOptions)
}
fun markLine(waypoints: List<WaylineExecuteWaypoint>) {
var djiwaypoints = waypoints.filter {
true
}.map {
DJILatLng(it.location.latitude, it.location.longitude)
}
var lineOptions = DJIPolylineOptions()
lineOptions.width(5f)
lineOptions.color(Color.GREEN)
lineOptions.addAll(djiwaypoints)
map_widget.map?.addPolyline(lineOptions)
}
/**
* Convert view to bitmap
* Notice: recycle the bitmap after use
*/
fun getMarkerBitmap(
index: Int,
rotation: Float,
): Bitmap? {
// create View for marker
@SuppressLint("InflateParams") val markerView: View =
LayoutInflater.from(activity)
.inflate(R.layout.activity_waypoint_marker_style_layout, null)
val markerBg = markerView.findViewById<ImageView>(R.id.image_content)
val markerTv = markerView.findViewById<TextView>(R.id.image_text)
markerTv.text = index.toString()
markerTv.setTextColor(AndUtil.getResColor(R.color.uxsdk_blue))
markerTv.textSize =
AndUtil.getDimension(R.dimen.mission_waypoint_index_text_large_size)
markerBg.setImageResource(R.mipmap.mission_edit_waypoint_normal)
markerBg.rotation = rotation
// convert view to bitmap
markerView.destroyDrawingCache()
markerView.measure(
View.MeasureSpec.makeMeasureSpec(0, View.MeasureSpec.UNSPECIFIED),
View.MeasureSpec.makeMeasureSpec(0, View.MeasureSpec.UNSPECIFIED)
)
markerView.layout(0, 0, markerView.measuredWidth, markerView.measuredHeight)
markerView.isDrawingCacheEnabled = true
return markerView.getDrawingCache(true)
}
private fun getMarkerRes(
index: Int,
rotation: Float,
): DJIBitmapDescriptor? {
return DJIBitmapDescriptorFactory.fromBitmap(
getMarkerBitmap(index , rotation)
)
}
fun showWaypoints(){
var loction2D = showWaypoints.last().waylineWaypoint.location
val waypoint = DJILatLng(loction2D.latitude , loction2D.longitude)
var pointMarker = markWaypoint(waypoint , getCurWaypointIndex())
pointMarkers.add(pointMarker)
}
fun getCurWaypointIndex():Int{
if (showWaypoints.size <= 0) {
return 0
}
return showWaypoints.size
}`
The text was updated successfully, but these errors were encountered:
Hello, I am creating a waypointv3 application and I wonder how can I delete the waypoint markers the application draws me. The code I got mostly from the sample app.
`
fun markWaypoints() {
// version参数实际未用到
//Lista de waypoints
val parseInfo = JNIWPMZManager.getWaylines("1.0.0", curMissionPath)
//Lista de waylines
var waylines = parseInfo.waylines
waylines.forEach() {
waypoints.addAll(it.waypoints)
markLine(it.waypoints)
}
waypoints.forEach() {
markWaypoint(DJILatLng(it.location.latitude, it.location.longitude), it.waypointIndex)
}
The text was updated successfully, but these errors were encountered: