Android GIS开发系列-- 入门季(11) Callout气泡的显示
2017-10-29 23:43
441 查看
一、气泡的简单显示
首先我们要获取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方法来设置。[/code]
相关文章推荐
- Android GIS开发系列-- 入门季(12) 显示载天地图
- Android GIS开发系列-- 入门季(15) 网络图层加载
- Android GIS开发系列-- 入门季(3) GraphicsLayer添加点、线、面
- Android GIS开发系列-- 入门季(1) 起点
- Android Arcgis入门(11)、Callout气泡的显示
- Android GIS开发系列-- 入门季(10) MapView快速定位到Geometry
- Android GIS开发系列-- 入门季(9) 定位当前的位置
- Android GIS开发系列-- 入门季(13)Gdal简单写个shp文件
- Android GIS开发系列-- 入门季(2) MapView与图层介绍
- Android GIS开发系列-- 入门季(4) GraphicsLayer的点击查询要素
- Android GIS开发系列-- 入门季(14)FeatureLayer之范围查询
- Android官方开发文档Training系列课程中文版:高效显示位图之管理位图内存
- 从零开发一个完整的Android项目(八)——水平气泡显示
- [Android开发]仿天天P图带气泡显示百分比进度的自定义SeekBar
- 【Android开发经验】Bitmap高效显示系列——如何有效的加载大尺寸Bitmap
- Android GIS开发系列-- 入门季(7) 利用GeometryEngine坐标转换、计算距离与面积等
- 【Xamarin开发 Android 系列 11】 创建一个Json读取数据应用-添加摄像头集成
- Android官方开发文档Training系列课程中文版:通知用户之在通知中显示进度
- Android官方开发文档Training系列课程中文版:高效显示位图之位图缓存
- Android GIS开发系列-- 入门季(5) FeatureLayer加载本地shp文件与要素查询