Я создал глобальную переменную вне запроса ajax; var pos = [];
для сбора информации о широте и долготе определенных «заданий», исходящих из моего api. «Задания» также имеет собственную глобальную переменную вне запроса ajax для сбора массива данных для каждого задания (var Jobs = [];
). Внутри запроса ajax я использовал общий Jobs = data
, чтобы установить значение переменной для данных, собранных в запросе при успешном завершении (success: function (data) {Jobs = data; ...
). Затем я использую цикл Jobs.forEach
для повторения каждого задания. Затем переменной pos
присваивается значение с использованием метода Leaflet на маркере, созданном для каждого задания. Моя проблема заключается в том, что когда я пытаюсь вызвать переменную pos
(я тестирую с использованием console.log(pos);
) вне цикла forEach, она возвращает только последний экземпляр. Любые предложения о том, что я делаю неправильно? Мой упрощенный код приведен ниже. Примечание. Я пытаюсь вызвать pos
внутри другого запроса, но он отлично работает для глобальной переменной Jobs
.Глобальная переменная возвращает значение только из последнего экземпляра в цикле
var grid = L.geoJson();
var Jobs = {};
var pos = [];
//var control = L.control.layers(grid).addTo(map);
// This is the ajax request for the jobs data
$.ajax({
type: 'GET',
url: url,
timeout: 8000,
crossDomain: true,
dataType: 'json',
data: Jobs,
...
//Renders data to view
success: function (data) {
Jobs = data;
Jobs.forEach(function (value) {
console.log (pos);
...
var latitude = value.latitude;
var longitude = value.longitude;
...
var marker = L.marker([value.latitude, value.longitude]).addTo(map);
pos = marker.getLatLng();
...
console.log (pos);
});
// Fetch the file data making the grid
$.getJSON('./grid.geojson', function (data) {
// Assign the results to the geojsonData variable
console.log(Jobs);
console.log(pos);
Это работало отлично, спасибо! Затем я могу использовать его в 'grid.getBounds(). Contains (pos)', чтобы узнать, находятся ли точки в сетке. Я создал другую открытую переменную с массивом для хранения результатов. Теперь мне просто нужно выяснить, что делать с этой информацией! – jcbridwe
Отлично, рад, что это помогло! :) – iamalismith