2017-01-28 13 views
0

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

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

+0

http://stackoverflow.com/questions/8194233/open-street-maps-api-for-android – AnixPasBesoin

+0

@AnixPas Besoin, у меня уже есть библиотеки и импортированы в мое приложение. Мне нужен доступ к их базе данных. Http-адрес - api в соответствии со страницей wikipedia, но когда я нажимаю на нее, это дает мне сообщение об отказе в доступе. Я не понимаю, почему, если предполагается, что это открытый источник –

+1

Существует несколько существующих приложений для Android, предназначенных точно так же, как один пример: https://github.com/plusCubed/velociraptor - я бы рекомендовал изучить источник кода и вернуться с более конкретными вопросами. ** Важная точка **: API Overpass имеет политику использования, к которой вы должны придерживаться. Также API OSM и API Overpass являются двумя совершенно разными API. – mmd

ответ

2

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

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

EDIT

Использование OverpassAPI не может быть простым, чтобы получить "текущий" MaxSpeed ​​...

После MMD внушения, вот piece of code from velociraptor построить свой запрос OverpassAPI строку:

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

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

+0

Благодарим вас за обновление. На самом деле я прошел большую часть кода в Velociraptor при создании приложения, и я использовал этот фрагмент кода, и я сделал запрос и функцию HTTP get, но api никогда не предоставлял мне необходимую мне информацию. Попытка получить правильный запрос от начала и до конца. –