[baidu] 04_百度地图加强_覆盖物_TextOverlay

Android 4.0

百度地图加强_覆盖物_TextOverlay 

1、TextOverlay extends Overlay

文字标注管理类

可以向地图添加一个或多个文字标注.

添加文字标注的一般流程:
1. 用TextItem准备文字数据
2. 创建TextOverlay,调用 addText(TextItem) 接口添加文字. 
3. 调用MapView.getOverlays().add()方法添加overlay到mapview中。
4. 调用MapView.refresh() 使Overlay生效。


①public void addText(TextItem item)  添加一个文字标注 . 添加后需调用 MapView.refresh() 使更新生效。
② TextItem 单个文字数据表示 TextItem存储的文字数据可能过TextOverlay添加到MapView中

核心代码:
package cn.zengfansheng.mybaidumap.overlay;
import java.util.List;
import android.os.Bundle;
import cn.zengfansheng.mybaidumap.BaseActivity;
import com.baidu.mapapi.map.Overlay;
import com.baidu.mapapi.map.Symbol;
import com.baidu.mapapi.map.Symbol.Color;
import com.baidu.mapapi.map.TextItem;
import com.baidu.mapapi.map.TextOverlay;
/**
 * 画文本覆盖物
 */
public class TextOverlayDemo extends BaseActivity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        addTextOverlayData();
    }
    /**
     * 添加TextOverlay覆盖层
     */
    private void addTextOverlayData() {
        // 添加文字标注的一般流程:
        // 1. 用TextItem准备文字数据
        // 2. 创建TextOverlay,调用 addText(TextItem) 接口添加文字.
        // 3. 调用MapView.getOverlays().add()方法添加overlay到mapview中。
        // 4. 调用MapView.refresh() 使Overlay生效。
        // 1、获取MapView中的Overlay集合
        List<Overlay> overlays = mMapView.getOverlays();
        
        // 2、在集合中添加要显示的文本内容
        // 2-1用TextItem准备文字数据
        TextOverlay overlay = new TextOverlay(mMapView);
        TextItem textItem = new TextItem();
        textItem.text = "小胜的百度地图";
        textItem.fontSize = 30;
        textItem.fontColor = getColor();
        textItem.pt = geoPoint;
        // 2-2、创建TextOverlay,调用 addText(TextItem) 接口添加文字.
        overlay.addText(textItem);
        overlays.add(overlay);
        
        // 3、刷新界面
        // 调用MapView.refresh() 使Overlay生效。
        mMapView.refresh();
    }
    /**
     * 获取颜色
     * @return
     */
    private Color getColor() {
        Symbol.Color color = new Symbol().new Color();// 颜色
        color.red = 255;
        color.green = 0;
        color.blue = 0;
        color.alpha = 100;// 透明度
        return color;
    }
}

结果: