Arcgis runtime for Android 100.5
2020-07-16 本文已影响0人
_执_念__
通过调用从MapView的getCallout()获取Callout对象。
官方api 传送门
用法
fun showCallout(point: Point) {
val view = View.inflate(this, R.layout.callout, null)
//获取到callout布局上的控件
val tvValue = view.findViewById<TextView>(R.id.tvValue)
****
//设置要展示的数据到控件上
tvValue.test = ""
val callout = mapView.callout
//设置Callout样式
val style = Callout.Style(this);
style.maxWidth = 400; //设置最大宽度
style.maxHeight = 300; //设置最大高度
style.minWidth = 200; //设置最小宽度
style.minHeight = 100; //设置最小高度
style.borderWidth = 2; //设置边框宽度
style.borderColor = Color.BLUE; //设置边框颜色
style.backgroundColor = Color.WHITE; //设置背景颜色
style.cornerRadius = 8; //设置圆角半径
style.leaderPosition = Callout.Style.LeaderPosition.LOWER_MIDDLE; //设置指示性位置
callout.style = style
callout.content = view
//通过在地图坐标中指定Point来设置Callout的位置。
callout.location = point
callout.show()
mapView.setViewpointCenterAsync(point)
样式也可以写在xml文件中
val style = Callout.Style(this,R.xml.callout_style)
res下新建一个xml文件夹,创建callout_style.xml文件
<?xml version="1.0" encoding="utf-8"?>
<resources>
<calloutStyle
backgroundColor="#f02d4384"
borderColor="#2583d8"
borderWidth="1"
cornerRadius="10"
leaderLength="15"
leaderWidth="10"
leaderPosition="LOWER_MIDDLE"
maxHeight="200"
maxWidth="300"
minHeight="90"
minWidth="120" />
</resources>