经纬度是从页面输入的,但是构造的时候就只构造第一次输入的坐标的点,这是什么原因
var pointArr = []; //坐标点对象数组
function getPointObject(){
var pointinfo = this.getPointInfo();
var title = this.getTitle();
var point = new markerArr(pointinfo,title);
return point;
}
//坐标点对象构造函数
function markerArr(point,title){
this.point = point;
this.title = title;
return this;
}
//构造坐标点
function getPointInfo(){
var jin = $("#jin").val();
var wei = $("#wei").val();
var point = jin+','+wei;
return point;
}
//标题
function getTitle(){
var title = $("#title").val();
return title;
}
显示坐标的的代码,这里会多次显示坐标,应该怎么修改??
function setPoint(){
var point = this.getPointObject();
pointArr.push(point);
console.log(pointArr);
var points = new Array(); //存放标注点经纬信息的数组
var marker = new Array(); //存放标注点对象的数组
for (var i = 0; i < pointArr.length; i++) {
var p0 = pointArr[i].point.split(",")[0];
var p1 = pointArr[i].point.split(",")[1]; //按照原数组的point格式将地图点坐标的经纬度分别提出来
points[i] = new window.BMap.Point(p0, p1); //循环生成新的地图点
marker[i] = new window.BMap.Marker(points[i]);
//按照地图点坐标生成标记
window.map.addOverlay(marker[i]);
marker[i].setAnimation(BMAP_ANIMATION_BOUNCE);
var label = new window.BMap.Label(pointArr[i].title, { offset: new window.BMap.Size(20, -10) });
marker[i].setLabel(label);
}
}
var markerArr = new markerArr(point,title);
你的变量名和函数名一样不会覆盖?!