1 | initial version |
implementation 'org.osmdroid:osmdroid-android:6.1.10'
<org.osmdroid.views.MapView
android:id="@+id/map"
android:layout_width="match_parent"
android:layout_height="match_parent"
tilesource="Mapnik"
/>
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
val map = findViewById<MapView>(R.id.map)
map.setTileSource(TileSourceFactory.MAPNIK)
map.setMultiTouchControls(true)
}
val osmUrl = "https://www.openstreetmap.org/relation/{relationID}"
val relationId = 12345 // Replace with actual relation ID
val osmParser = OsmParser(osmUrl.replace("{relationID}", relationId.toString()), applicationContext)
val mapView = findViewById<MapView>(R.id.map)
osmParser.load(mapView)
osmParser.onLoadComplete = {
// Add markers, lines, or other map features using the MapView's Overlays
val startPoint = GeoPoint(40.748817, -73.985428) // Example location in New York City
val marker = Marker(mapView)
marker.position = startPoint
mapView.overlays.add(marker)
mapView.invalidate()
}
That's it! Your app should now display the OSM data for the specified Relation ID.