我如何添加映射标记到一个单独的类文件?



在android studio中,我创建了一个带有数百个标记的地图。我想把它们分成单独的类,并把它们放在一个单独的包中,这样在我的主代码中就不会有一个庞大的标记列表。有办法做到这一点吗?我用的是Kotlin

所以我想你想说的是。有一个活动,我们设为MainActivity它有地图在它上面有200个标记。

和所有这些都是单独初始化和分配的,你想把它们放在一起,这样你就可以通过搜索一个来使用它们。

如果是这样的话,我的建议是。

创建一个单独的Data Class来存储Marker和其他相关的数据。

data class MarkerInfo(
//marker ID
val id:Int,
//marker Data
val markerData:Marker,
//other Data
var otherData:String
)

现在来存储和访问数据。

class MainActivity(){
//at the top level, inside Activity
// This will create an empty list of Marker Info
var markerData = mutableListOf<MarkerInfo>()
//Now take any function, let's say x
private fun x(){
//Mark a Marker on Map and assign it to a variable.
val markerA : Marker = map.addMarker( MarkerOptions.position(somePosition))
//we assign a function with id and other relevant data
val x= markerData.size

//store data in list
markerData.add(MarkerInfo(x, markerA, "This is a very useful marker"))
}
}
//now to access that marker.
//let's say there is a function named y.
private fun y(){
//say we want to access the first marker
//there are two ways to do so.
//first method: you know some data which is already in there let's say we know id
for(i in markerData){
if(i.id == 1){
Log.d("TAG", i.toString())
}
}
//second method: directly
Log.d("TAG",markerData[0].toString())
}

相关内容

  • 没有找到相关文章

最新更新