applican

マイページに戻る

Geofencing

Geofencing は Location API の機能で、地図上のある地点にバーチャルな範囲(フェンス)を作成し、ユーザーがその範囲に出たり入ったりしたことを検知する機能です。

メソッド

  • init(Function successCallback, Function<GeofencingError> errorCallback)
  • getFences(Function successCallback, Function errorCallback)
  • addFence(JSONObject options, Function addFenceSuccess, Function addFenceError);
  • removeFence(String fenceName, Function removeSuccess, Function removeError);"

init

メソッド説明

Geofencing APIの初期化を行う。

function initGeofencingSuccess()
{
	//
}

function initGeofencingError(GeofencingError error)
{
	var errorCode = error.code;
}

applican.geofencing.init(initGeofencingSuccess, initGeofencingError);
						

getFences

メソッド説明

観察中のジェオフェンス一覧取得。

function getFencesSuccess(fences)
{
	for (var i = 0; i < fences.length; i++) {
		var fenceName = fences[i].identifier;
		var latitude = fences[i].latitude;
		var longitude = fences[i].longitude;
		var radius = fences[i].radius;
	}
}

function startMonitoringError(GeofencingError error)
{
	var errorCode = error.code;
}

applican.geofencing.getFences(getFencesSuccess, getFencesError);
						

addFence

メソッド説明

新しいフェンスを追加する。

function addFenceSuccess() {
	//
}

function addFenceError(GeofencingError error) {
	var errorCode = error.code;
}

options = {};
options.latitude = 35.64984129;
options.longitude = 139.71039254;
options.radius = 9000;
options.notifyOnEnter = true;
options.notifyOnExit = true;
options.identifier = "fenceName";
options.url = "http://some.url/";

applican.geofencing.addFence(options, addFenceSuccess, addFenceError);
						

optionsの可能な設定:

設定説明備考
latitudeフェンスの緯度-
longitudeフェンスの経度-
radiusフェンスの半径-
notifyOnEnter入った時に通知iOSのみ
notifyOnExit出た時に通知iOSのみ
identifierフェンス名-
url通知URL-

フェンスの出入り時にバックグラウンドサービスはURLに下記のようなHTTP GETを行います:

http://some.url/?action=enter&lat=35%2E702069&lon=139%2E775327&fence=Fence1
					

URLのquery値:

設定説明
latフェンスの緯度
lonフェンスの経度
fenceフェンス名
actionフェンスに入った場合enter、出た場合exit

removeFence

メソッド説明

観察からフェンスを削除します。 fenceName: 削除するフェンス名

function removeSuccess() {
	//
}

function removeFailure(GeofencingError error){
	var errorCode = error.code;
}

applican.geofencing.removeFence("fenceName", removeSuccess, removeError);
					

エラーコード一覧

GeofencingError

エラーコールバック戻り値エラーコードの可能な値。

エラーコードエラー名説明
0.NOT_INITIALIZED未だ初期化をしていません。.initを実行してください
1.FENCE_EXISTSこの名前を持っているフェンスを既に観察しています
2.FENCE_DOES_NOT_EXISTこの名前を持っているフェンスを観察していません
3.FENCE_INVALIDフェンスの設定で誤りがあります
4.TOO_MANY_FENCESご利用のOSのジェオフェンス数の上限を超えています
5.LOCATION_SERVICES_UNAVAILABLEこの端末のGPSを使用できません
6.LOCATION_SERVICES_UNAUTHORIZEDこの端末のGPS使用の許可がありません
7.REGION_MONITORING_UNAVAILABLEこの端末でジェオフェンシング機能を利用できません
8.INTERNAL_ERROR機内エラー