Android GIS开发系列-- 入门季(11) Callout气泡的显示
2023-09-14 09:02:21 时间
一、气泡的简单显示
首先我们要获取MapView中的气泡,通过MapView的getCallout()方法获取一个气泡。看一下Callout的简单介绍:
大体的意思是通过MapView获取Callout,可以设置它的内容View,大小,显示的方位等。
写一个简单的测试:
public class MainActivity extends Activity { private MapView mapView; private static final String TILED_WORLD_STREETS_URL = "http://services.arcgisonline.com/ArcGIS/rest/services/World_Street_Map/MapServer"; private Callout callout; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); mapView = (MapView) findViewById(R.id.map_view); //添加一个基础的底图 mapView.addLayer(new ArcGISTiledMapServiceLayer(TILED_WORLD_STREETS_URL)); //地图点击事件 mapView.setOnSingleTapListener(new OnSingleTapListener() { @Override public void onSingleTap(float x, float y) { //屏幕坐标转地图坐标 Point point = mapView.toMapPoint(x,y); //设置显示位置 callout.show(point); } }); initCallout(); } private void initCallout() { //获取一个气泡 callout = mapView.getCallout(); //设置最大的长宽 callout.setMaxWidth(1200); callout.setMaxHeight(300); TextView tv = new TextView(this); tv.setText("这是一个气泡"); callout.setContent(tv); CalloutStyle calloutStyle = new CalloutStyle(); //设置尖尖角的位置,尖尖显示在气泡的左下角, calloutStyle.setAnchor(Callout.ANCHOR_POSITION_LOWER_LEFT_CORNER); callout.setStyle(calloutStyle); } }
显示的效果图如下:
二、通过xml方式设置Callout的Style
新建一个xml放在res/xml下,例如:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<calloutViewStyle
anchor="5"
backgroundAlpha="255"
backgroundColor="#ffffff"
cornerCurveDp="20"
frameColor="#000000"
maxHeightDp="300"
maxWidthDp="500" />
</resources>
只需调用callout.setStyle
方法来设置。
相关文章
- android开机动画多长时间_Android开机动画及黑屏[通俗易懂]
- android activity自动跳转,Android activity跳转之finish()方法的作用
- strictmode android,Android中的StrictMode
- 测试android sdk是否安装成功,配置Android SDK
- robotium android,Robotium 测试Android apk安装包
- android短信验证码方案,Android开发之属于你的短信验证码(一)
- android短信验证码代码,Android短信验证码自动填写实现代码
- Android开发入门工具的那些事儿
- android activitymanagerservice_安卓开发API
- Android —facebook/litho框架 超实用的入门干货
- Android SDK Tools_android.intent.category.DEFAULT
- Android平台GB28181接入模块技术接入说明
- 【Android 事件分发】事件分发源码分析 ( ViewGroup 事件传递机制 一 )
- 【Android 逆向】函数拦截实例 ( ② 插桩操作 | 保存实际函数入口 6 字节数据 | 在插桩的函数入口写入跳转指令 | 构造拼接桩函数 )
- 【错误记录】Android Studio 编译时 lint 检查报错 ( WARNING: DSL element ‘android.dataBinding.enabled‘ is obsolet )
- 【错误记录】Android Studio 集成 ARoute 编译报错 ( 兼容 support 库和 androidx 库 | add ‘tools:replace=“android:appCo )
- Android @IntDef注解取代Java enum枚举提高性能详解手机开发
- [android] 看博客学习Android常见的几种RuntimeException详解手机开发
- Android入门之RelativeLayout、FrameLayout用法分析
- Android入门之TableLayout应用解析(一)
- Android入门之AlertDialog用法实例分析
- Android入门之Gallery用法实例解析
- Android入门之Gallery+ImageSwitcher用法实例解析