如何在高德地图上根据画好的线,在他周边200米范围内画出多边行,这条线是随意长度,可以拐外的 10C

1.我是在高德地图上画了一条线,想在这条线周边画出一个多边形,这个多边形是根据线上所有的点 垂直200米范围。
2.我试过高德地图API接口 画多边形
//这是所有的点 按90度来计算距离200米的经纬度
for(var j=0;j<linearraypath.length;j++){
juxingshuzu.push(jisun(linearraypath[j],90));
}
//这是所有的点 按180度来计算距离200米的经纬度
for (var k=0;k<linearraypath.length;k++){
juxingshuzu.push(jisun(linearraypath[linearraypath.length-k-1],180));
}

//这是高德地图API来画多边形
set_juxing(juxingshuzu);

    //这是高德地图API来画多边形的方法

function set_juxing(data){

var polygon = new AMap.Polygon({
    path: data,//设置多边形边界路径
    strokeColor: "#CD4F39", //线颜色
    strokeOpacity: 0.2, //线透明度
    strokeWeight: 3,    //线宽
    fillColor: "#CD4F39", //填充色
    fillOpacity: 0.75//填充透明度
});
maps.add(polygon);

}

//这是计算经纬度方法
function jisun(point,cos){
var long1=point.lng;
var lat1=point.lat;
var ARC=6371.393*1000;
var long2;
var π=3.1415926;
var d_cos=cos;
long2 = long1 + 200*Math.sin(d_cos)/(ARC*Math.cos(lat1)*2*π/360);
var jd= Math.floor(long2*1000000)/1000000;

var lat2;
lat2 = lat1 + 200*Math.cos(d_cos)/ (ARC *2*π/360);
var wd=Math.floor(lat2*1000000)/1000000;
//return jwd=new AMap.LngLat(jd, wd);
var gis=[];
gis.push(jd);
gis.push(wd);
return jwd=gis;

}

3.可是算出来的不对
图片说明
有一部分线没在这个画出的多边形里面

1个回答

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问

相似问题

9
android项目集成高德地图,定位延迟太长
2
高德地图移动端自定义点标注的点击事件无效
4
Android 集成的高德地图定位会跳动
3
高德地图app开发可否使用自己的影像
1
js,如何在一条线里面插入一个点(如何在不知道左右下标的情况下在一个数组里面插入一个点),下有详细
1
mapcap可以截取最新的高德地图,百度地图,谷歌地图以及腾讯地图吗?
0
抓取高德地图poi出现滑动验证怎么解决?
1
arcgis for android 与高德 API 开发问题。
0
高德地图api中如何改变缩放平移的速度?
0
jquery项目中使用高德地图,拖动过程中,地图中的地标文字会跳闪
0
高德地图和百度地图SDK“串台”
1
使用高德JS API绘制多轨迹调用pathSimplifierIns.setdata出现两条连接在一起的情况,如何解决
1
调用高德地图获取当前位置的经纬度出现失败的情况
0
vue使用高德地图在安卓手机上能够正常提示授权并获取定位,在ios12报错怎么处理?
1
有没有大神,做过从后台获取经纬度,然后展示到web端地图上生成轨迹的项目?
4
高德地图 怎么获取单独一个城市的 地图
0
高德web端地图在我本地展示都是正常的,但是java后端把数据放进去后,会在走到setMap时报错,求大神
1
高德地图3D模式下PathSimplifier轨迹显示错误
1
vb.net webbrowser 载入高德地图后,无法使用3D,如何处理呢?
1
vb.net 调用高德地图API, 输入地址,传回经纬度