package com.rn.s.baidumap.view;

import android.content.Context;
import android.view.View;

import com.baidu.mapapi.map.BaiduMap;
import com.baidu.mapapi.map.Text;
import com.baidu.mapapi.map.TextOptions;
import com.baidu.mapapi.model.LatLng;

import android.graphics.Color;
import android.graphics.Typeface;

public class OverlayText extends View implements OverlayView{

    private Text mText;
    private String title;
    private Boolean visible;
    private LatLng position;
    private int fillColor = 0xAAFF0000;
    private int color = 0xAAFF0000;

    public OverlayText(Context context) {
        super(context);
    }

    public void setPosition(double latitude, double longitude) {
        position = new LatLng(latitude, longitude);
        if(mText != null) {
          mText.setPosition(position);
        }
    }

    public LatLng getPosition() {
        return position;
    }

    public void setTitle(String title) {
        this.title = title;
    }

    public String getTitle() {
        return this.title;
    }

    public void setVisible(boolean visible) {
        this.visible = visible;
        if(mText != null) {
            mText.setVisible(visible);
        }
    }

    public boolean getVisible() {
        return this.visible;
    }

    @Override
    public Object getOverlayView() {
        return mText;
    }

    @Override
    public void addTopMap(BaiduMap baiduMap) {
        TextOptions mTextOptions = new TextOptions()
              .text(getTitle()) //文字内容
              .fontSize(26) //字号
              .fontColor(0xFF101010) //文字颜色
              .rotate(0) //旋转角度
              .visible(getVisible())
              .typeface(Typeface.defaultFromStyle(Typeface.BOLD))
              .position(getPosition());

        mText = (Text) baiduMap.addOverlay(mTextOptions);
    }

    @Override
    public void remove() {
        if(mText != null) {
            mText.remove();
            mText = null;
        }
    }
}
