前言
地理围栏(Geo-fencing)是LBS的一种新应用,就是用一个虚拟的栅栏围出一个虚拟地理边界。在物流配送行业应用比较广,划分每个配送网点或者商家配送的范围,提高配送员的配送效率和服务的范围。
1.使用Path2D创建一个多边形
Path2D类是java.awt.geom包提供的工具包,可表示任意几何路径的简单而灵活的形状。它可以完全表示PathIterator接口可以迭代的任何路径, 包括其所有段类型和绕组规则,并且它实现了Shape接口的所有基本命中测试方法。
使用Path2D.Float带有可表示且能使用浮点精度的数据的时候。使用Path2D.Double 对于需要双精度的准确性或范围的数据。
先通过高德地图在线编辑一个多边形覆盖图,然后获取到有序的坐标
代码示例如下:
//传参 有序的坐标范围
public static Path2D.Double create(List polygon) {
//创建path2D对象
Path2D.Double generalPath = new Path2D.Double();
//获取有序坐标范围的第一个坐标
PointDouble first = polygon.get(0);
//通过移动到指定坐标(以双精度指定),将一个点添加到路径中
generalPath.moveTo(first.getX(), first.getY());