본문 바로가기

Development/Web & Server

[Spring Framework] MongoDB를 이용하여 좌표검색하기~!

1. 위치 객체 정의~! 아래와 같이 정의를 한다. 


public class NHLocation {

public double getLongitude() {

return longitude;

}

public void setLongitude(double longitude) {

this.longitude = longitude;

}

public double getLatitude() {

return latitude;

}

public void setLatitude(double latitude) {

this.latitude = latitude;

}


private double longitude;

private double latitude;


}


2. 그리고 이것을 사용할 모델에 사용한다.


클래스.....


 @Id private String mId;

..... 맴버 변수들...

private NHLocation loc;

//static Variables

public static final String KEY_LOC = "loc";



3. mongoTempleate를 사용하기 전에 init 함수를 하나 호출하도록 만든다.


<bean id="aservice" class="Aservice" init-method="init" autowire="byName"/>



4. init 함수에서 loc를 정의한다.


public void init () {

this.mongoTemplate.indexOps(Model.class).ensureIndex(new GeospatialIndex(Model.KEY_LOC));

}//end init Method


5. 자 이제 사용해보자~! (longitude, latitude, distnace) 적당한 값을 넣을것~!


final Query query = new Query();

query.addCriteria(Criteria.where(Model.KEY_LOC).near(new Point(longitude, latitude)).maxDistance(distnace));