2013-01-24 1 views
1

전 세계의 사용자 목록이 JSON 형식입니다. 목록의 각 항목에는 위치 정보가 있습니다.Geolocation : 근접하여 필터링

  1. 이 위치를 적절한 경도와 위도로 변환하려면 어떻게합니까?
  2. (현재 경도 및 위도를 얻는 방법을 알고 있다고 가정 할 때) 현재 위치에서 50 마일 이내에있는 위치 만 얻으려면 어떻게 이러한 위치를 필터링해야합니까?

사용할 수있는 서비스가 있습니까?

위의 위치를 ​​경도와 위도로 변환해야합니까? 본질적으로 내가하고 싶은 것은 현재 위치의 50 마일 지점을 찾아 다른 위치를 무시하는 것뿐입니다.

답변

3

무료로 geonames.org webservice을 사용할 수 있습니다. 위치 이름을 제공하고 어느 위치에서나 위도와 경도를 얻을 수있는 곳에는 search method을 사용할 수 있습니다. 동일한 이름을 사용할 수있는 위치가 여러 개있을 수 있습니다. 여기에있는 예를 참조하십시오. http://api.geonames.org/searchJSON?q=london&maxRows=10&username=demo

두 번째 질문에 대해서는 여러 가지 방법이 있습니다. 기본 알고리즘은 this question에 나와 있지만 가장 쉬운 방법은 Google Maps API를 사용하는 것입니다 (보조 답변은 this question 참조).

1

저는 과거에이 방법을 사용했습니다. 단지 JavaScript & JSON만으로는 할 수있는 것이 아닙니다. 가장 좋은 방법은 공간 Point 명령을 사용하는 MySQL 데이터베이스를 만드는 것입니다. JavaScript & JSON을 원한다면 JavaScript & MySQL 데이터베이스 사이에서 쿼리를 관리하기 위해 웹 서비스 (예 : PHP 사용)를 만들어야합니다. 처음 엔 힘들게 느껴지지만, 일단 당신이 그것에 익숙해지면, 그것은 아주 차갑습니다. 기본 사항을 이해하려면 reading this site을 권장합니다.

+0

고맙습니다. node.js에 몇 가지 nosql 솔루션이있을 것으로 기대 했습니까? 어쨌든 이것을 활용하려면 http://docs.mongodb.org/manual/core/geospatial-indexes/ – socialMatrix

+0

MongoDB에서 비슷한 일을하는 새로운 방법처럼 보입니다. 그러나 저는 항상 안정적이고 지원되는 MySQL 방법을 선호합니다. 어쩌면 MongoDB 자체가 표준으로 작동 할 것이지만 아직은 존재하지 않습니다. 행운을 빕니다! – JakeGould