ArcGIS runtime for Android

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>
上一篇下一篇

猜你喜欢

热点阅读