您的位置:首页 > 移动开发 > Android开发

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]
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐