2017-01-28 13 views
0

OSMデータベースのmaxspeedへのアクセスが必要なアプリケーションを作成しています。私はOSM wiki http://wiki.openstreetmap.org/wiki/Overpass_APIのapi http://overpass-api.de/api/を見つけましたが、私はそれにアクセスする方法を見つけることができず、私はAPIをオンラインで検索するとForbiddenエラーを返す。OSM APIへのアクセス方法

私のアプリがAPIにアクセスするようにプログラミングするにはどうすればいいですか?データベースjsonに問い合わせて、アンドロイドアプリのmaxspeedを見つけることができます。

+0

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

+0

@AnixPas Besoin、私はすでにライブラリを持っていて、それを私のアプリにインポートしました。データベースにアクセスする必要があります。 httpアドレスはwikipediaのページによるapiですが、クリックするとアクセス拒否のメッセージが表示されます。私はオープンソースでなければならない理由を理解していない –

+1

https://github.com/plusCubed/velociraptor - まったく同じ目的を果たしているいくつかの既存のAndroidアプリがあります。ソースを調べることをお勧めしますより具体的な質問に戻ることができます。 **重要なポイント**:オーバーパスAPIには、あなたが従わなければならない使用ポリシーがあります。また、OSM APIとOverpass APIは全く異なる2つのAPIです。 – mmd

答えて

2

OSMBonusPack(osmdroidのアドオンライブラリ)はOverpassAPIProviderです。あなたの "禁止された"問題なしですぐに使用できます。

あなたのニーズに正確に合わない場合は、ソースコードを見て、あなたが望むものを実装するのに役立ちます。 MMDの提案に続き

EDIT

OverpassAPIを使用すると、 "現在の" maxspeedを取得することは簡単ではないかもしれない...

は、ここ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関数を作成しましたが、apiは必要な情報を私に与えませんでした。最初から最後まで適切なクエリを取得しようとしています。 –

関連する問題