亲们........我现在遇到一个问题急需大家帮助啊!!!!!
最近因为工作需要在研究百度地图
现在遇到一个问题
需要实现一个再地图上手动绘折线的demo,我不知道怎么存储地图上点击的坐标!请赐教啊!不要再告诉我去看百度API实例了,恕我菜啊!真的没找到怎么记录鼠标点下的点!
var map = new BMap.Map("container");
var point = new BMap.Point(116.404, 39.915);
map.centerAndZoom(point, 15);
var polyline = new BMap.Polyline([
new BMap.Point(116.399, 39.910),
new BMap.Point(116.405, 39.920)
], {strokeColor:"blue", strokeWeight:6, strokeOpacity:0.5});
map.addOverlay(polyline);
这个是添加折线覆盖物的代码。但是这里是给定的point,如何获取地图上自己点击的点,并且是多个点的坐标...
如果有知道的XDJM千万不要路过啊
一定帮帮偶哈!!!
最近因为工作需要在研究百度地图
现在遇到一个问题
需要实现一个再地图上手动绘折线的demo,我不知道怎么存储地图上点击的坐标!请赐教啊!不要再告诉我去看百度API实例了,恕我菜啊!真的没找到怎么记录鼠标点下的点!
var map = new BMap.Map("container");
var point = new BMap.Point(116.404, 39.915);
map.centerAndZoom(point, 15);
var polyline = new BMap.Polyline([
new BMap.Point(116.399, 39.910),
new BMap.Point(116.405, 39.920)
], {strokeColor:"blue", strokeWeight:6, strokeOpacity:0.5});
map.addOverlay(polyline);
这个是添加折线覆盖物的代码。但是这里是给定的point,如何获取地图上自己点击的点,并且是多个点的坐标...
如果有知道的XDJM千万不要路过啊
一定帮帮偶哈!!!
var polyline = new BMap.Polyline([
new BMap.Point(116.399, 39.910),
new BMap.Point(116.405, 39.920)
], {strokeColor:"blue", strokeWeight:6, strokeOpacity:0.5});建立一个数组,点击地图的某一个点,push到这个数组里。
然后传到这个方法。重新绘制地图上的折线即可。
var points = [];
map.addEventListener("click", function (e) {
map.clearOverlays();
points.push(new BMap.Point(e.point.lng, e.point.lat));
DrawPolyline(points);
}); function DrawPolyline(points) {
var polyline = new BMap.Polyline(points, {strokeColor:"blue", strokeWeight:6, strokeOpacity:0.5});
map.addOverlay(polyline);
}
不好意思....呵呵
下面是代码
有需要的也可以问我呵呵!
同时感谢提供帮助的童鞋们!
谢谢你们哈!设置map的click事件。
var p = []; //用来存储折线的点
var polyline;
var doneDraw = 0; //判断是否绘制折线结束map.addEventListener("click",function(e1){
//当鼠标单击时
if(doneDraw == 0){
//判断是否绘制曲线完毕
p.push(new BMap.Point(e.point.lng,e.point.lat)) //存储曲线上每个点的经纬度
if(polyline){polyline.setPath(p);
}
//如果曲线存在,则获取折线上的点
else{
polyline = new BMap.Polyline(p);
}
//如果折线不存在,就增加此点
if(p.length<2){
return ;
}
//当折线上的点只有一个时,不绘制
map.addOverlay(polyline); //绘制曲线
}
});