Я пытаюсь получить координаты местоположений, используя Mapbox API через модуль запроса в моем экспресс-приложении.URL запроса (конкретное местоположение) дается через HTML-форму.Он анализируется в URL, и API предоставляет всю информацию, включая координаты.Это выглядит так:
app.post("/", function(req, res){
var location = req.body.location;
var url = "https://api.mapbox.com/geocoding/v5/mapbox.places/" + location + ".json?access_token=MY_TOKEN"
request(url, function(error, response, body) {
var data = JSON.parse(body);
var coordinates = data.features[0].geometry.coordinates
Все работает хорошо, если я пытаюсь найти любое место, которое API может найти и обработать.Но когда я попытался вставить некоторые случайные символы через форму, приложение вылетает, выдавая ошибку «TypeError: Невозможно прочитать свойство« geometry »из undefined».Console.log (data) показывает, что элемент features объекта data представляет собой пустой массив [].Я пытался обработать ошибку, показывая сообщение и перенаправляя его, когда данные не определены, например:
if (!data.features) {
req.flash("error", "Location not found, please try again.")
res.redirect("/")}
Я в начале своего пути по программированию, и это мой первый запрос, поэтому я очень ценю любую помощь, спасибо!