文字(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的方法。
使用View构造InfoWindow
//用来构造InfoWindow的ButtonButton 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);
效果如图:
使用BitmpDescriptor构造InfoWindow
OnInfoWindowClickListener :InfoWindow被点击时的回调接口,通过重写onInfoWindowClick方法来实现响应点击事件,在使用BitmapDescriptor来构造InfoWindow时需要传入一个OnInfoWindowClickListener对象。
//用来构造InfoWindowBitmapDescriptor mBitmap = BitmapDescriptorFactory.fromResource(R.drawable.popup);//响应点击的OnInfoWindowClickListenerInfoWindow.OnInfoWindowClickListener listener = new InfoWindow.OnInfoWindowClickListener() {@Overridepublic 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);
显示效果及点击事件效果展示如图:
上一篇
下一篇
本篇文章对您是否有帮助?