如何在Javascript中填写这种类型的数据..
var neighborhoods = [
{lat: 52.511, lng: 13.447},
{lat: 52.549, lng: 13.422},
{lat: 52.497, lng: 13.396},
{lat: 52.517, lng: 13.394}
];
我试过这种方式,但没有发生
$.each(result.geoloc, function(index,geoloc) {
geoloc_split=geoloc.Geoloc.split(',');
// alert(geoloc_split[0]+","+geoloc_split[1]);
var lat="lat: "+geoloc_split[0];
var lng = "lng: "+geoloc_split[1];
neighborhoods.push(lat,lng);
geoloc_split="";
});
答案 0 :(得分:3)
您只将值推送到数组。您需要推送新对象(例如,使用对象文字创建它)。此外,您需要将字符串值转换为float:
var lat = parseFloat(geoloc_split[0]);
var lng = parseFloat(geoloc_split[1]);
neighborhoods.push({
lat: lat,
lng: lng
});
在ES6中,您可以使用属性值简写:
neighborhoods.push({lat, lng});
答案 1 :(得分:1)
你应该这样做:
$.each(result.geoloc, function(index,geoloc) {
geoloc_split=geoloc.Geoloc.split(',');
neighborhoods.push({
lat:parseFloat(geoloc_split[0]),
lng:parseFloat(geoloc_split[1])
});
geoloc_split="";
});
因为你的邻域数组是一个对象数组,你需要用对象填充它。