行政边界大都用shape文件承载,而高德地图没有直接绘制shape文件的接口,需要从shape文件中提取坐标信息,再使用高德地图的drawLine等api接口进行绘制,具体步骤如下:
1.打开ArcMap,添加SHP图层
2.为减少复杂度,在制作边界线时,可打开Editor->Merge,将多条线合并为一条线。
3.ArcToolbox->Conversion Tools->To KML->Layer To KML,生成后缀为kmz的文件。
4.将文件后缀改为zip或rar,从中获得kml文件。
5.从kml文件中提取边界信息,写成数组的数组形式,每条line一个数组,依次为经度、纬度,多条线组成线条的数组,如:
const boundary = [ [114.18092082, 22.78283497999999, 114.17712082, 22.78093497999998......], [114.18092082, 22.78283497999999, 114.17712082, 22.78093497999998......] ]
6.kml由经纬度组成,坐标系为WGS84,高德地图使用gcj02坐标,两个之间有一定偏差,需进行坐标变换。
7.调用AMap的drawLine函数进行边界绘制。