全部服务产品
开发者频道
定价
登录
添加文字和信息窗
下载开发文档
文字覆盖物

文字(Text)在地图上也是一种覆盖物,由Text类定义。文字覆盖物的绘制通过TextOptions类来设置。示例代码如下:

//文字覆盖物位置坐标
LatLng llText = new LatLng(39.86923, 116.397428);
//构建TextOptions对象
OverlayOptions mTextOptions = new TextOptions()
.text("百度地图SDK") //文字内容
.bgColor(0xAAFFFF00) //背景色
.fontSize(24) //字号
.fontColor(0xFFFF00FF) //文字颜色
.rotate(-30) //旋转角度
.position(llText);
//在地图上显示文字覆盖物
Overlay mText = mBaiduMap.addOverlay(mTextOptions);

运行结果如下:

绘制弧线
添加信息窗(弹窗覆盖物InfoWindow)

下面简述两种构造InfoWindow的方法。

使用View构造InfoWindow

//用来构造InfoWindow的Button
Button button = new Button(getApplicationContext());
button.setBackgroundResource(R.drawable.popup);
button.setText("InfoWindow");
//构造InfoWindow
//point 描述的位置点
//-100 InfoWindow相对于point在y轴的偏移量
mInfoWindow = new InfoWindow(button, point, -100);
//使InfoWindow生效
mBaiduMap.showInfoWindow(mInfoWindow);

效果如图:

弹窗覆盖物InfoWindow

使用BitmpDescriptor构造InfoWindow

OnInfoWindowClickListener :InfoWindow被点击时的回调接口,通过重写onInfoWindowClick方法来实现响应点击事件,在使用BitmapDescriptor来构造InfoWindow时需要传入一个OnInfoWindowClickListener对象。

//用来构造InfoWindow
BitmapDescriptor mBitmap = BitmapDescriptorFactory.fromResource(R.drawable.popup);
//响应点击的OnInfoWindowClickListener
InfoWindow.OnInfoWindowClickListener listener = new InfoWindow.OnInfoWindowClickListener() {
@Override
public void onInfoWindowClick() {
Toast.makeText(MarkerDemo.this, "Click on InfoWindow", Toast.LENGTH_LONG).show();
}
};
//构造InfoWindow
//point 描述的位置点
//-100 InfoWindow相对于point在y轴的偏移量
mInfoWindow = new InfoWindow(mBitmap, point, -100, listener);
//使InfoWindow生效
mBaiduMap.showInfoWindow(mInfoWindow);

显示效果及点击事件效果展示如图:

使用BitmpDescriptor构造InfoWindow

上一篇

绘制弧线和面

下一篇

点标记动画

本篇文章对您是否有帮助?