Как получить доступ к OSM API

Я делаю приложение, в котором мне нужен доступ к maxspeed в базе данных OSM. Я нашел API http://overpass-api.de/api/ в вики OSM http://wiki.openstreetmap.org/wiki/Overpass_API но я не могу найти способ получить к нему доступ, и когда я ищу API в Интернете, он возвращает ошибку Forbidden.

Как я могу запрограммировать свое приложение для доступа к API, чтобы я мог запросить базу данных json, чтобы найти maxspeed для моего приложения для Android.


person DJ. Aduvanchik    schedule 28.01.2017    source источник
comment
@AnixPasBesoin, у меня уже есть библиотеки, и я импортировал их в свое приложение. Мне нужен доступ к их базе данных. http-адрес — это API в соответствии со страницей википедии, но когда я нажимаю на него, появляется сообщение об отказе в доступе. Я не понимаю, почему, если он должен быть с открытым исходным кодом   -  person DJ. Aduvanchik    schedule 29.01.2017
comment
@mmd На самом деле я загрузил приложение несколько недель назад и проанализировал код так тщательно, как только мог, и использовал то, что я узнал, в своем приложении, но я не смог найти адрес используемого API. Я попробовал это на вики-странице overpass/osm, overpass-api.de/api, но это появится экран Access denied.   -  person DJ. Aduvanchik    schedule 29.01.2017
comment
Используемая конечная точка будет overpass-api.de/api/interpreter.   -  person mmd    schedule 30.01.2017
comment
Взгляните на osmbonuspack, он предоставляет функции для доступа к Overpass API.   -  person scai    schedule 01.02.2017


Ответы (1)


OSMBonusPack (библиотека дополнений к osmdroid) имеет OverpassAPIProvider, готовый к использованию без вашего «Запрещенный» вопрос.

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

РЕДАКТИРОВАТЬ

Использование OverpassAPI может оказаться непростым для получения «текущей» максимальной скорости…

Следуя предложению mmd, вот фрагмент кода от velociraptor для построения строки запроса OverpassAPI:

private String getOsmQuery(Location location) {
    return "[out:json];" +
            "way(around:15,"
            + location.getLatitude() + ","
            + location.getLongitude() +
            ")" +
            "[\"highway\"];out body geom;";
}

Это может помочь...

person MKer    schedule 03.02.2017
comment
Спасибо за обновление. На самом деле я прошел большую часть кода в Velociraptor при создании приложения, и я использовал этот фрагмент кода, и я сделал запрос и функцию получения HTTP, но API никогда не давал мне нужной мне информации. Попытка получить правильный запрос от начала до конца. - person DJ. Aduvanchik; 05.02.2017