因为项目需求,写了这么一个工具类,用来绘制一块多边形区域,并且节点要可拖动实时改变多边形
1.首先介绍一下一些变量及集合
private ArrayList<LatLng> bLatLngs; //经纬度节点集合 private ArrayList<Point> RAXYs; //直角坐标节点集合 private ArrayList<LatLng> sLatLngs; //小节点集合
这里需要三个节点集合,分别存储大节点,经纬度转成直角坐标系节点,以及小节点
在百度api中,折线及多边形是根据节点集合绘制出来的,项目中大节点集合用来绘制折线及多边形而小节点是两个相邻大节点直线中间点,需要实时计算并改变的
直角坐标节点是经纬度转成屏幕直角坐标系,用来判断选中节点及移动距离
/** * 单击回调,返回点击地理位置信息 * @param latLng */ @Override public void onMapClick(LatLng latLng) {在百度地图的点击回调中会传过来一个LatLng对象,该对象记录了当前点击位置的经纬度信息