Как переработать запрос API, чтобы применить его к большому количеству элементов одного типа? - PullRequest
0 голосов
/ 17 июня 2019

Я создал веб-страницу, где пользователи могут вводить названия разных городов в текстовое поле.

Я также создал массив JSON, в котором перечислены 63 конкретных города в соответствии с конкретными требованиями, которым они должны соответствовать, и я назову это файлом JSON (1). Для удобства перечислим только первые два элемента:

{
  "tappe": [
    {
      "name": "Tappa22 - Passo della Cisa - Pontremoli",
      "state": "Italy",
      "region": "Toscana",
      "city": "Groppoli (Mulazzo)"
    },
    {
      "name": "Tappa22 - Passo della Cisa - Pontremoli",
      "state": "Italy",
      "region": "Toscana",
      "city": "Groppodalosio"
    }
]
}

Всякий раз, когда строка, введенная в текстовое поле, соответствует одному из 63 городов, перечисленных в файле JSON, я хочу отобразить карту этого конкретного города.

для этого я хочу использовать API открытого поиска Nominatim (от здесь ) и связать их с OpenStreetMap.

Для начала я выполнил запрос API для определенного города через функцию обратного вызова ajax success, сохранив файл JSON, содержащий код GeoJSON (я получил его, изменив параметры кода GeoJSON здесь ).

var readCoordinates = function(){

    $.ajax({
        url: "http://localhost/prove/coordinate_Siena.json",
        dataType: "json",
        success: function (data) {    

                setTimeout(function () {

                for (let i = 0; i < data.features.length; i++) {
                    let coordinate = data.features[i];

                    $("#tbody2").append("<tr><td>" + coordinate.geometry.coordinates + "</td></tr>");                        

                    console.log("ajax and for loop have been activated");
                    console.log(coordinate.geometry.coordinates);
                };                    

            }, 1000);
        }
    });

};

Код выше работает: возможно, я вижу координаты в консоли.

Теперь мне нужно получить координаты для каждого из 63 городов, перечисленных в моем файле JSON (1). Я мог бы сохранить файл JSON для каждого из них, а затем использовать его в функции обратного вызова ajax success, но это кажется непрактичным.

Есть ли способ сделать это, написав функцию, которая "изменяет" параметр файла JSON (2)?

Другими словами, учитывая, что я могу получить координаты города через запрос API, могу ли я «переработать» этот запрос API для получения координат нескольких других городов, написав функцию, которая динамически изменяет параметры этого города?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...