我刚刚升级到其中一个高级会员资格,以便我可以使用地理围栏模块。我根本没有运气,appcelerator也没有帮助。
这是我简单易懂的代码:
var geoFences = e.geo_fences;
var regionList = [ ];
var region = Geofence.createRegion( {
center: {
latitude: 26,
longitude: -98
},
radius: 400,
identifier: 'test'
} );
regionList.push( region );
// There are multiple events tested here, because the sample code
// on appcelerators docs say "enterregion", but the list
// of events for the object says "enterregions"
Geofence.addEventListener( "enterregions", function( e ) {
Ti.API.info('enter region fired');
});
Geofence.addEventListener( "enterregion", function( e ) {
Ti.API.info('enter regions fired');
});
Geofence.addEventListener( "exitregion", function( e ) {
Ti.API.info('exit region fired');
});
Geofence.addEventListener( "exitregions", function( e ) {
Ti.API.info('exit regions fired');
});
Geofence.addEventListener( "error", function( e ) {
Ti.API.info('error fired');
});
Geofence.addEventListener( "monitorregions", function( e ) {
Ti.API.info('monitor regions fired');
});
// Start monitoring for region entrances/exits:
Geofence.startMonitoringForRegions( regionList );
我在iOS模拟器中打开应用程序,我看到: [INFO]:监控区域已解雇
所以它正在监控该地区。但我去调试>位置>自定义位置,并设置为25,-98(区域外)然后到26,-98(在区域的中心),然后回到25,-98,我没有得到任何输入或退出地区开火!
我还尝试使用iphone 6+上的更精确位置,并启用了活动单元和gps。我从1英里外开车到了确切的位置,并没有发动任何事件(400米大约1/4英里)
我无法在Android上测试它,因为我正在使用jira中的appcelerator进行构建错误。
模块坏了吗?有替代模块吗?
答案 0 :(得分:0)
我自己使用该模块,非常成功。所以它确实有效。