2017-05-08 1 views
2

내 서버 측 데이터베이스에 약 10000 위치의 위치가 있으며 모바일 사용자에게이 장소 중 하나 (예 : 정사각형)에서이 장소의 지오 펜스가 없음을 알리는 알림을 보내려고합니다.
나는 그것을 봤는데 Foursquare Pilgrim SDK 지금 (내가 생각하는),하지만 풀어 줘서 정사각형 문서에 따르면 그것은 네모가 DB에 존재하는 장소에 따라, 내 데이터와 함께 할 수있는 라이브러리가 있습니까 아니면 그것을 가능합니까? !
GPS 데이터를 사용하는 것이 정확하다는 것은 누군가가 어딘가에 있다는 것을 알지 못합니다. GPS 데이터의 정확도와 정확도가 서로 나란히 위치하기 때문입니다.위치 기반 알림

편집 :이 라이브러리 Radar을 발견 인터넷에서 검색을 많이 후
은, 그것은는 지오 펜스를 입력하기 위해, 무제한 사용자와 모두 서버 측과 클라이언트 측 통지를 무제한 지오 펜스를 허용, 그래서 간단하고 무료입니다.

+0

"이 장소의 지오 펜스가 없습니다."라는 말은 위도/경도 정보 만 있고 이러한 장소의 반경이 없음을 의미합니다. – Blackkara

+0

foursquare pilgrid에 따르면, lat/lng와 radius로만 지오 펜스를 계산하지는 않지만 위도/경도가 있으므로이 값에 가장 적합한 정확한 방법을 찾고 싶습니다. – majidkabir

+0

'그것은 단지 lat/lng와 radius로 지오 펜스를 계산하지 않습니다. '이것은 내가 정확히 말하고자하는 것입니다. 위도/경도가 있지만 반경은 없습니다. 장소에 위치하려면 울타리 (반경을 기준으로하는 원)를 정의해야합니다. 따라서이 울타리를 기반으로 위치가 있는지 여부를 감지합니다. – Blackkara

답변

0

사용자 위치가 사전 정의 된 장소의 반경 내에 있는지 여부를 서버 측에 구현할 수 있습니다. 10000 위치의 위도/경도 저장 서버 측이 있다면 서버 측에 스크립트를 작성하여 해당 사용자의 위도/경도가 정의 된 반경/위도/경도에 있음을 알 수 있습니다.

+0

내 데이터의 색인을 생성하는 데 [solr] (http://lucene.apache.org/solr/)을 사용하고 반지름이있는 lat/lng를 사용하여 데이터베이스를 쿼리하여 주변에있는 장소를 찾지 만 더 복잡합니다. . 컴플렉스에서 주변 장소를 쿼리 할 때 데이터가 100 이상 반환 될 수 있습니다. – majidkabir

+0

좋은 양의 배터리를 사용하기 때문에 정확한 위치를 내 서버로 보낼 수 없습니다. 어쩌면 서버 사이드 검사로 안드로이드 geofece를 사용하는 것이 해결책이지만 안드로이드 지오 펜스는 단지 100 지오 펜스를 얻습니다. – majidkabir

0

다음 방법으로 구현할 수 있습니다.

  1. 일정한 간격으로 서버에 위치 업데이트를 보내는 응용 프로그램입니다.
  2. BLL 서버에서이 위도와 경도가 사용 가능한 데이터베이스베이스 레코드 근처에 있는지 알아야합니다. 이 범위 내에서 현재 위치 가을의 다음 응용 프로그램에 알림을 보낼 경우

    public static final float NEAR_BY_MINIMUM_CRITERIA =5.0f; 
    public boolean areTheseLocationsNearBy(Location one,Location two){ 
         if(one.distanceTo(two) <AppConstants.NEAR_BY_MINIMUM_CRITERIA){ 
          Log.d(TAG,"areTheseLocationsNearBy criteria 5.0 satisfied == true"); 
         return true; 
         } 
        return false; 
        } 
    

    에 그와 유사한 안드로이드에서 JavaScript api reference

    var distance = google.maps.geometry.spherical.computeDistanceBetween(a, b); 
    

    에 다음과 유사한

뭔가.