PHP 및 Google지도를 사용하여 간단한 추적 프로그램을 만들려고합니다. 지금은 트래커가 작동하지만 특정 마커의 근접성을 감지하고 싶습니다. 예를 들어 사용자가 내 "집"(마커)에서 30m 이내 인 경우 스크립트는 상태가 "너무 그렇습니다"라고 말합니다. 나는 이것을 PHP에서 달성하고자한다. 가장 좋은 방법은 각 마커의 긴/위도를 감지하고 그 주위에 간단한 경계를 작성한 다음 사용자가 해당 경계 내에서 길고 위도가 낮은지 여부를 감지하는 것입니다. 내가 수학이나 수학 방정식에서 일할 수있는 주변의 예가 있습니까?PHP/Google지도 - Geofence
3
A
답변
2
Haversine 공식이 당신이 찾고있는 것입니다. MySQL과 PHP에서 사용하는 방법을 설명하는 an article on Google Code이 있습니다. 사용
2
솔루션 -
function calc_distance($point1, $point2)
{
$radius = 3958; // Earth's radius (miles)
$deg_per_rad = 57.29578; // Number of degrees/radian (for conversion)
$distance = ($radius * pi() * sqrt(
($point1['lat'] - $point2['lat'])
* ($point1['lat'] - $point2['lat'])
+ cos($point1['lat']/$deg_per_rad) // Convert these to
* cos($point2['lat']/$deg_per_rad) // radians for cos()
* ($point1['long'] - $point2['long'])
* ($point1['long'] - $point2['long'])
)/180);
return $distance; // Returned using the units used for $radius.
}
는 내가 다른 게시물에있는 하버 사인 공식을 사용했다.
관련 문제
- 1. 포인트가 지오 펜스 안에 있는지 확인하십시오.
- 2. XML 열의 데이터를 고유 한 열에 어떻게 추출합니까?
- 3. iOS에서 지역 모니터링 : didEnterRegion이 실행되었지만 시뮬레이션에서 doExitRegion이 없습니다.
- 4. android : NullPointerException을 표시하는 큰 해상도의 에뮬레이터
- 5. JavaScript 파일을 캡슐화하고 JavaScript/jQuery 함수를 캡슐화하는 방법
- 6. jquery 내부에 정의 된 javascript 메소드를 호출합니다.
- 7. Android의 Geoloqi API에서 onPushMessageReceived()가 호출되지 않는 이유는 무엇입니까?
질문에 답변을 쓰거나 제목에 [해결됨]을 사용하지 마십시오. 답을 직접 알아 낸 경우 아래의 답안 상자에 게시하십시오. 당신이 rep <100 이상의 새로운 사용자이기 때문에, 당신은 7 시간 내에 그것을 할 수있을 것입니다. – abcd
@Keiran Lovett 어떤 데이터베이스를 사용하고 있습니까? postgresql을 사용할 수 있습니까? –
요다를 지적 해 주셔서 고맙습니다! –