2016-02-27 4 views
0

Как заполнить этот тип массива в JavaScript, ..заполняющая массив в 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=""; 
}); 

ответ

3

Вы подталкивают только значения массива. Вам нужно нажать новый объект (например, создать его с помощью литерала объекта). Кроме того, вы должны преобразовать строковые значения плавать:

var lat = parseFloat(geoloc_split[0]); 
var lng = parseFloat(geoloc_split[1]); 
neighborhoods.push({ 
    lat: lat, 
    lng: lng 
}); 

В ES6 вы можете использовать значение свойства стенографии:

neighborhoods.push({lat, lng}); 
+0

Его дает мне ошибку InvalidValueError: SetPosition: не LatLng или LatLngLiteral: в собственности лате: не число – Manish

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=""; 
}); 

Поскольку ваш район массив это массив объекта, который вам нужно заполнить с помощью объектов.

+0

Его дает мне ошибку InvalidValueError: SetPosition: Не LatLng или LatLngLiteral: в собственности лате: не число – Manish

+0

@Manish Проверьте обновление –

+0

Спасибо @Marox Tn, Но я все еще получаю ту же ошибку Я также предупреждал значения геолокаций, они как ожидалось, но все же :( – Manish

 Смежные вопросы

  • Нет связанных вопросов^_^