我在AndroidStudio的项目中使用osmdroid库创建了一个mapView,这样:
mapView = findViewById(R.id.mapView)
mapView.setTileSource(TileSourceFactory.MAPNIK)
mapView.setMultiTouchControls(true)
然后我在地图上创建了一个标记:
thePoint = GeoPoint(lat, long)
val mapController = mapView.controller
mapController.setZoom(15.0)
mapController.setCenter(thePoint)
val marker = Marker(mapView).apply {
position = thePoint
title = label
isDraggable = true
icon = context.getDrawable(id)
setAnchor(Marker.ANCHOR_CENTER, Marker.ANCHOR_BOTTOM)
}
mapView.overlayManager.add(marker)
现在我可以看到正确地图上的标记。问题是标记不可拖动...我忘记了什么?
最后,我决定添加一个自定义的mapView.setOnTouchListener