Использование библиотеки Overpasser - PullRequest
0 голосов
/ 24 января 2020

Хорошо, я пытаюсь использовать библиотеку overpasser https://github.com/zsoltk/overpasser, и по какой-то причине, когда я пытаюсь использовать пример по умолчанию со страницы github, он ничего не возвращает как OverpassQueryResult, пытался поместить разные данные, и Google много - никакой полезной информации. заранее спасибо за любую помощь

OverpassQueryResult overpassQueryResult = search(new LatLngBounds(new LatLng(180, -180), new LatLng(180,-180)));


        if(overpassQueryResult.elements!=null) {
            Log.d(TAG, "overpassQueryResult size " + overpassQueryResult.elements.size());
        } else {
            Log.d(TAG, "overpassQueryResult is null ");
        }

public OverpassQueryResult search(final LatLngBounds bounds) {
    OverpassQuery query = new OverpassQuery()
            .format(JSON)
            .timeout(30)
            .filterQuery()
            .node()
            .amenity("cafe")
            .tagNot("access", "private")
            .boundingBox(
                    bounds.southwest.latitude,
                    bounds.southwest.longitude,
                    bounds.northeast.latitude,
                    bounds.northeast.longitude
            )
            .end()
            .output(100)
            ;
    Log.d(TAG, query.build());
    return interpret(query.build());
}



private OverpassQueryResult interpret(String query) {
        try {
            return OverpassServiceProvider.get().interpreter(query).execute().body();

        } catch (Exception e) {
            e.printStackTrace();

            return new OverpassQueryResult();
        }
    }

1 Ответ

1 голос
/ 26 января 2020

Эта библиотека больше не поддерживается с 4 лет и создает недопустимые запросы Overpass QL. Причина ошибки в том, что серверная часть Overpass API просто отклоняет прерванный запрос.

Я описал это более подробно здесь: https://github.com/zsoltk/overpasser/issues/19

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

...