foursquareで現在の場所からのエリアで予測検索で場所を取得できるようにしたい

facebookでも、行いましたが、今回はfoursquareを用いて、位置のデータの取得を行いたいと思います。

簡単にどういうAPIになるかと言うと、foursquareを利用した事がある人は知っていると思いますが自分の行った場所を登録するアプリになります。gpsに応じて、ユーザーが場所のデータを登録していく為、人力での場所のデータベースが存在しています。それをAPIで提供してくれています。

叩くAPIは下記のような形式です

https://api.foursquare.com/v2/venues/search?ll=経度,緯度&radius=100000&limit=50&query=クエリ&client_id=クライアントID&client_secret=シークレットID&v=20121108

のような形式です。

llは経度緯度の設定を行います。

また、radiusはその設定された場所からの距離以内のデータを取得します。最高で、100000で100km圏内のデータ取得です。limitは表示する件数ですが、最大で50件です。クライアントIDとシークレットIDはAPIを登録すると取得する事ができます。vには日付のデータを入力します。

これを実行すると、queryで指定したワードを含む店を、経度緯度で設定した地点から100km圏内のデータを取得してくれます。

参考程度に下記のように取得をすると

$.getJSON("APIのURL", function(data){
        var str = "";
        for(var i in data.response.venues){
                if(data.response.venues[i].categories[0]){
                    if(data.response.venues[i].location.address){
                        str += "<p>" + data.response.venues[i].name +" | " + data.response.venues[i].location.address + " | "+ data.response.venues[i].categories[0].shortName + "</p>";
                        str += "<img src='"+data.response.venues[i].categories[0].icon.prefix+"bg_32"+data.response.venues[i].categories[0].icon.suffix+ "'>";
                    }else{
                        str += "<p>" + data.response.venues[i].name +" | " + " " + " | "+ data.response.venues[i].categories[0].shortName + "</p>";
                        str += "<img src='"+data.response.venues[i].categories[0].icon.prefix+"bg_32"+data.response.venues[i].categories[0].icon.suffix+ "'>";
                    }
                }
        }
    });

取得データの名前、住所、どのような業種か?という情報とアイコンのデータを取得できます。

業種が不明の場合には、取得しないようにしていますが。。

 

割りと場所のデータも充実しているので、現在地の近くのデータを取得したい場合などに使ってみると楽しいかもしれません。アプリなどで、現在地との関係性が重視される場合はradiusなどを小さくするともっと限定された位置のデータが取得できるので楽しいと思います。

 

Next / Prev

前の記事:

次の記事:

Same Category

Page top↑