百度地图API 的折线问题,javascript里面 ,var polyline = new BMap.Polyline,如何循环的添加点呢?
newBMap.Point(116.401801,39.912114),newBMap.Point(116.403803,39.912336),newBMap.Point...
new BMap.Point(116.401801,39.912114),
new BMap.Point(116.403803,39.912336),
new BMap.Point(116.404804,39.912447),
new BMap.Point(116.405905,39.918558),
new BMap.Point(116.418804,39.926123),
new BMap.Point(116.419184,39.929323),
new BMap.Point(116.423184,39.930323)
], {strokeColor:"blue", strokeWeight:3, strokeOpacity:0.5});
map.addOverlay(polyline);
我想把这些点从2个下拉框里面读出来,一个个读是可以的,但是怎么利用循环一样的东西读呢 展开
new BMap.Point(116.403803,39.912336),
new BMap.Point(116.404804,39.912447),
new BMap.Point(116.405905,39.918558),
new BMap.Point(116.418804,39.926123),
new BMap.Point(116.419184,39.929323),
new BMap.Point(116.423184,39.930323)
], {strokeColor:"blue", strokeWeight:3, strokeOpacity:0.5});
map.addOverlay(polyline);
我想把这些点从2个下拉框里面读出来,一个个读是可以的,但是怎么利用循环一样的东西读呢 展开
1个回答
展开全部
必须有一个数组或者集合的东西存储这些点的坐标,看这些点的坐标是从哪里来的了,如果是存在某个地方你读出来的,比如数据库或者cookie里,那么这样做就很自然了,比如说存在一个二维数组中。
var points = [[1,2],[3,4],[5,6],[7,8]];
var a = [];
for (p in points) {
a.push(new BMap.Point(p[0],p[1]));
}
虽然不清楚那个API,但看你的写法,最后BMap.Point要存在一个数组里,其实完全可以读出来的时候就直接放在a数组里。
.....a, {strokeColor:"blue", strokeWeight:3, strokeOpacity:0.5});
若是你的程序要通过用户操作在地图上一个一个加点,那么循环就不合适了,一个一个加就好了。
若你只想把这些点存在代码里,那这么写完全可以,没有更简单的方法,只会越搞越复杂。
var points = [[1,2],[3,4],[5,6],[7,8]];
var a = [];
for (p in points) {
a.push(new BMap.Point(p[0],p[1]));
}
虽然不清楚那个API,但看你的写法,最后BMap.Point要存在一个数组里,其实完全可以读出来的时候就直接放在a数组里。
.....a, {strokeColor:"blue", strokeWeight:3, strokeOpacity:0.5});
若是你的程序要通过用户操作在地图上一个一个加点,那么循环就不合适了,一个一个加就好了。
若你只想把这些点存在代码里,那这么写完全可以,没有更简单的方法,只会越搞越复杂。
追问
追答
我查过API了,折线不就是有多个点的线么?
完全可以这么写啊:
var polylinePointsArray = [];
for (i - 0; i < len; i++) {
var x = DropDownList_x.options[i].value;
var y = DropDownList_y.options[i].value;
polylinePointsArray[i] = new BMap.Point(x,y);
}
polyline = new BMap.Polyline(polylinePointsArray, {strokeColor:"blue", strokeWeight:3, strokeOpacity:0.5})
map.addOverlay(polyline);
你那样写会多加很多不必要的点,而且对API调用了过多次数,会影响性能。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询