2011-04-05 2 views
3

나는 PHP의 데이트 신청서를 작성 중입니다 : 내 응용 프로그램은 사람의 특정 거리에서 적절한 사용자 프로파일을 검색하는 검색 페이지를 가지고 있습니다 (마일/검색 할 kms).내 도시의 X 마일 이내의 사람들을 찾으십시오

이것을 구현하는 논리를 이해하고 (참조 : Get nearest places on Google Maps, using MySQL spatial data) 전 세계 각지의 지리적 위치를 저장하는 데이터베이스를 어디서 얻을 수 있는지 잘 모르겠습니다. 무료로 제공됩니까? 가능한 경우 프리미엄 버전을 확인하는 데 관심이 있습니다.

쿼리 검색 속도에도 관심이 있습니다. 이러한 거대한 데이터베이스를 검색하는 것은 약간의 오버 헤드가 발생할 것입니다.이 문제를 해결하는 가장 좋은 방법은 무엇입니까?

모든 제안 사항을 높이 평가합니다. 그것은 ... 당신은 그때 아주 간단한 자신의 주소를 사용자에게 소리

+1

검색 할 데이터가 있어야합니다. 앱의 의미에서 사용자 프로필을 위치 정보로 업데이트해야합니다. – Khez

+0

2283689 및 98449 질문에 대한 응답을보십시오. 여기에는 지오 코더를 찾을 수있는 위치에 대한 정보가 있습니다. 무료 상용 제품 (Google, Yahoo, Microsoft)은 모두 사용권 계약서에 문자열이 포함되어 있습니다 (예 :지도 표시와 함께 사용해야하며 다른 목적으로 결과를 저장할 수 없음). 그래도 여전히 사용자의 요구 사항을 충족시킬 수 있습니다 (일부는지도에 사용할 수 있도록 데이터를 저장할 수 있지만 특정 라이선스 조건을 확인하십시오). 매번 다시 보지 않고 각 항목에 대한 위도/경도를 저장하려고합니다. – ViennaMike

답변

1

안부, Seniel는 경도 값에 대한 Google지도 API를 요청하고이

http://maps.googleapis.com/maps/api/geocode/json?address=San+Stefano+1+Sofia&sensor=false 

같은 위도하고 쓰기 데이터베이스에.

인근 사람들

편집에 대한 사용자 searchest는 (원 될 수 없습니다,하지만 일을 할 것입니다) 때 : 같은

SELECT * FROM `users` AS u 
WHERE u.lat IS BETWEEN {$my_lat-100} AND {$my_lat+100} 
AND u.alt IS BETWEEN {$my_alt-100} AND {$my_lat+100} 

을 당신이 언급 한 게시물에.

+0

해당 select 쿼리로 계속 수행 ... – fazo

관련 문제