Annotation
在 mapbox 添加圓,點,線或多邊形,稱為註釋(Annotation)。加入MapBox裏的 Annotation,就只是一個圖而以,無法與使用者互動。也就是說,Annotation 沒有 click 之類的事件。但也因為不需和使用者互動,所以加入 Annotation 的效能非常高。
畫點
首先可以由 mapView 的 annotation 建立一個管理器(annotationManager),然後將要註釋的點位置放在 PointAnnotationsOptions物件,再將此 options 放到 annotationManager 裏即可。
class MahalMap(context:Context):MapView(context){
val annotationManager = annotation.createPointAnnotationManager()
fun point(lng:Double, lat:Double, img:Bitmap){
val options: PointAnnotationOptions = PointAnnotationOptions()
.withPoint(Point.fromLngLat(lng, lat))
.withIconImage(img)
annotationManager.create(options)
}
}
上述藍色的 annotationManager因為會常常被使用,所以可以將之置於方法之外,獨立成一個物件變數。
畫線
首先由 MapView 的 annotations 產生 PolylineAnnotationManager 管理器,然後將多個點的 ArrayList 放入 options 裏,最後再將 options 放入管理器即可。
