2017-02-23 11 views
-3

Я разрабатываю приложение для посещаемости. Он регистрируется пользователем, когда пользователь достигает в офисе, и он показывает сообщение «не в офисе». Таким образом, для этого мне нужно получить местоположение пользователя и проверить его значения между широтами долготы в офисе. пользователь может войти в систему только в том случае, если пользователь находится в промежутке между значениями широты долготы в офисе. Как разработать это приложение.Как ограничить вход пользователя на основе местоположения широта долготы

ответ

0

После получения местоположения пользователя вы можете проверить расстояние от точек происхождения, которые являются вашим офисом (lat, Lon), если пользователь попадает в диапазон, о котором вы указали, просто отметьте его.

float[] results = new float[1]; 
Location.distanceBetween(currentlatitude, currentlongitude, originLat, originLon, results); 
float distanceInMeters = results[0]; 
boolean isWithinRange = distanceInMeters < 3000; 

if (isWithinRange) { 
    //write your code what ever you wanna perform 
} 
+0

вау благодаря простому коду. хорошо работает –

+0

Ваше приветствие :) –

0

Сделать Geofence, который будет определен по офисной площади (следуйте this, чтобы выяснить, как это сделать), например, для заполнения объекта списка с именем mGeofenceList:

mGeofenceList.add(new Geofence.Builder() 
    // Set the request ID of the geofence. This is a string to identify this 
    // geofence. 
    .setRequestId(entry.getKey()) 

    .setCircularRegion(
      entry.getValue().latitude, 
      entry.getValue().longitude, 
      Constants.GEOFENCE_RADIUS_IN_METERS 
    ) 
    .setExpirationDuration(Constants.GEOFENCE_EXPIRATION_IN_MILLISECONDS) 
    .setTransitionTypes(Geofence.GEOFENCE_TRANSITION_ENTER | 
      Geofence.GEOFENCE_TRANSITION_EXIT) 
    .build()); 

Прими пользователь место каждый раз, когда во время Логина и проверьте, принадлежит ли это геофоруме. Если внутри, позвольте ему/ей войти в систему иначе сказать, вне области. использовать эту формулу, чтобы проверить:

enter image description here

Update Формула Объяснение: Если вы знаете радиус окружности, а что это центр, вы можете получить либо точка внутри или снаружи круг по этой формуле. Если расстояние от точки до центра больше радиуса, то снаружи, и наоборот.

вы также можете увидеть this способ если.

Легко!

+0

@JebinCThaliyan ответить обновленный –

+0

спасибо, что было так полезно :) –

Смежные вопросы