Javascript,更改对象值

Javascript,更改对象值,javascript,google-maps,Javascript,Google Maps,这很难解释,所以我只举一个例子 for(i=1;i<position.length;i++) { if(position[i].lat() == position[i-1].lat() && position[i].lng() == position[i-1].lng()) { position[i].lat = position[i].lat() + ((Math.ra

这很难解释,所以我只举一个例子

for(i=1;i<position.length;i++)
        {   
            if(position[i].lat() == position[i-1].lat() && position[i].lng() == position[i-1].lng())
            {

                position[i].lat = position[i].lat() + ((Math.random() -.5) / 1500);
                position[i].lng = position[i].lng() + ((Math.random() -.5) / 1500);
                //position[i].lng = position[i].lng() + ((Math.random() -.5) / 1500);
                //console.log(position[i].lat().value);
            }
        }
这就是位置数组的填充方式

感谢您的帮助。谢谢 意识到上面的比较代码不能完全比较,我将把新代码放在这里,以防有人使用它

for (var i = 0; i < position.length; i++) {
            for(var k = i+1; k<position.length; k++){
        if (position[i].lat() == position[k].lat() && (position[i].lng() == position[k].lng())) {
            console.log("before change" + i + position[i].lat());
           position[i] = new google.maps.LatLng(
        position[i].lat() + ((Math.random() * 1.5) / 100),
        position[i].lng() + ((Math.random() * 1.5) / 100)
        );
        console.log("after change" +i + position[i].lat());
        }
        }
    }
for(变量i=0;i
请注意,不能修改板条的坐标。如果要计算另一个点,必须创建一个新点

简而言之,不要更改值,替换条目

例如:

for (var i = 1; i < position.length; i++) {
    if (position[i].lat() == position[i - 1].lat() && position[i].lng() == position[i - 1].lng()) {
        position[i] = new google.maps.LatLng(
            position[i].lat() + ((Math.random() - .5) / 1500),
            position[i].lng() + ((Math.random() - .5) / 1500)
        );
    }
}
for(变量i=1;i
lat
lng
数组中的属性还是函数?您可以双向调用它们。删除
lat
lng
末尾的
()
怎么样。您好,我编辑了这篇文章来展示position[]是如何获取数据的。仍然。
lat()
表示您正在调用一个函数。但它不是一个函数。删除
()
是google地图标记的位置数组?还是json对象?谢谢您的帮助,我不知道我一直在走错方向。
for (var i = 1; i < position.length; i++) {
    if (position[i].lat() == position[i - 1].lat() && position[i].lng() == position[i - 1].lng()) {
        position[i] = new google.maps.LatLng(
            position[i].lat() + ((Math.random() - .5) / 1500),
            position[i].lng() + ((Math.random() - .5) / 1500)
        );
    }
}