サーバー構築不要!スマートフォンアプリ向けの新クラウド

トップ >ドキュメント >SDKガイド(Android):位置情報

SDKガイド(Android)

ドキュメント内検索

位置情報

このドキュメントは更新されていません。
こちらから最新版をご覧ください。

位置情報をデータストアに保存する

位置情報をデータストアに保存する場合は、putメソッドを使ってLocationクラスを設定します。

Location geo = new Location("test");
geo.setLatitude(10.0);
geo.setLongitude(10.0);

NCMBBase obj = new NCMBBase("TestClass");
obj.put("geo", geo);

位置情報の検索

位置情報の検索を行う場合は、距離か範囲を指定して検索を行います。

検索距離

検索距離を指定する場合は、検索開始地点の位置情報とそこからの検索距離を指定します。
検索距離は、キロメートル、マイル、ラジアンで指定可能です。

Location point = new Location("sdk-test");
point.setLatitude(30.0);
point.setLongitude(30.0);

NCMBQuery<NCMBObject> query = new NCMBQuery<>("TestClass");

//pointで指定した位置から半径10km以内の位置情報をlocationフィールドに持つデータを検索する
query.whereWithinKilometers("location", point, 10);

query.findInBackground(new FindCallback<NCMBObject>() {
    @Override
    public void done(List<NCMBObject> results, NCMBException e) {
        if (e != null) {
            //検索失敗時の処理
        } else {
            //検索成功時の処理
        }
    }
});

検索範囲

検索範囲で指定する場合は、検索範囲となる矩形の左下(南西)と右上(北東)の位置情報を設定し、
その範囲内で保存してあるオブジェクトの検索ができます。

Location southwest = new Location("sdk-test");
southwest.setLatitude(30.0);
southwest.setLongitude(30.0);

Location northeast = new Location("sdk-test");
northeast.setLatitude(60.0);
northeast.setLongitude(60.0);

NCMBQuery<NCMBObject> query = new NCMBQuery<>("TestClass");

//southwest(左下)とnortheast(右上)で指定された
//検索範囲内の位置情報をlocatioフィールドに持つオブジェクトを検索する
query.whereWithinGeoBox("location", southwest, northeast); 

query.findInBackground(new FindCallback<NCMBObject>() {
    @Override
    public void done(List<NCMBObject> results, NCMBException e) {
        if (e != null) {
            //検索失敗時の処理
        } else {
            //検索成功時の処理
        }
    }
});

お探しの内容が見つからなかった場合はユーザーコミュニティ もご活用ください。(回答保証はいたしかねます)
なお、 Expertプラン以上のお客様はテクニカルサポートにてご質問を承らせて頂きます。

推奨画面サイズ1024×768px以上

ページの先頭へ