2010-08-22 2 views
4

PHP로 GPS 장치의 위도와 경도를 얻는 방법? 자바 스크립트를 통해서가 아닙니다. 고맙습니다.PHP로 GPS 장치에서 위도와 경도를 얻으십시오

+0

에 대해 어떻게 NMEA 프로토콜 작품에 대해 설명 사이트 많이 있습니다

..... .....GPS 장치가 데이터를 보내는 데 사용하는 방법으로 – Starx

+0

GPS 장치에서 PHP를 실행하고 있습니까, 아니면 서버에 연결된 GPS 장치입니까? 클라이언트 장치에서 위치 데이터를 가져 오려면 --with-magic-gps 플래그를 사용하여 PHP를 컴파일하는 것 외에는 할 수있는 것이 많지 않습니다. – Mchl

+0

@mchl 실행중인 PHP를 장치에서 실행 중입니다. 마술 - GPS에 대해 더 많이 알 수 있습니까? 이 옆에 다른 방법은 없습니까? – davidlee

답변

3

리눅스를 사용하는 경우 직렬 포트를 통해 GPS와 대화하는 것이 간단합니다 ... 직렬 케이블로 GPS를 연결하고 GPS에서 NMEA 프로토콜을 활성화하십시오.

exec("stty -F /dev/ttyS0 9600 raw"); // Set the serial port parameters 
if (!$t = fopen('/dev/ttyS0','r+b')) // Open for read 
    die(" - Failed to open\n"); 

// Send some command... 
fwrite($t,"Command\n"); 

while(true) { 
    echo "recived: ".fgets($t,1024); 
} 

NMEA 데이터는 다음과 같습니다 $GPGLL,4916.45,N,12311.12,W,225444,A,*1D 예를 http://www.gpsinformation.org/dale/nmea.htm 내가 정말 알고 싶은

0

나는 모든 상용 GPS 모듈이 원시 데이터 (NMEI)를 사용자로부터 보호 할 수 있다고 생각하지 않습니다. 이제 특정 장소에 대한 위도 및 경도 데이터 만 필요하면 GPS가 필요하지 않습니다. 당신은 PHP를 사용하고 싶다면 ESRI (http://www.esri.com/)가 제공하는 API를 체크 아웃하고, NAVTEQ는 오래전에 사용 했었는데 꽤 좋았습니다. 이제 필드에서 위도와 경도 데이터를 사용하려면 GPS 로거를 구입하는 것이 좋습니다 (RAW NMEI 데이터가 필요한 경우). 모든 종류의 멋진 것들을 알려줄 수 있습니다. Lat와 Long 정보 만 원한다면 Garmin이나 Tom Tom이 충분히 좋을 것입니다. 다시 말하지만, 그것은 모두 당신이 원하는 것과 당신이 원하는 것에 달려 있습니다.

/SRM

0

당신은 Google Maps API를 사용할 수 있습니다.

저는이 프랑스어 소스를 이해하기 쉬운 코드 예제 (Geolocation in 5 lines of PHP)로 알고 있습니다.

하지만 GPS 장치에서 도시와 국가 이름을 검색하는 방법을 모르겠습니다.

0

사용중인 하드웨어에 대해 자세히 알아야합니다. 저는 과거에 GPS로 많은 작업을 해왔으며 많은 GPS 장치가 표준 NMEA 데이터 형식의 GPS 데이터를 제공합니다 (일반적으로 RS232 직렬 인터페이스를 통해 약 1Hz). NMEA는 천체력 같은 고급 데이터를 제공하지 않습니다 (흥미로운 일을 실제로 시작할 수 있습니다).

당신은 '장치'에서 php를 실행 중이라고 했으므로 GPS 데이터가 직렬/usb 인터페이스를 통해오고 GPS 칩이 NMEA 데이터를 제공한다고 가정하면 해당 데이터를 가져와야합니다 직렬 포트에서. PHP에는 사용할 수있는 직접 IO 라이브러리가 있습니다 (http://us2.php.net/manual/en/intro.dio.php). 자세한 내용은 Serial comm with PHP on Windows에 대한이 게시물을 확인하십시오. 프로세서가 GPS 인터페이스에 직렬/USB되지 않은 경우 나는 당신이 어떻게 PHP 토지에 갈 수 있을지 모르겠다.

희망이 있습니다. 사용중인 하드웨어에 대해 더 많은 정보를 제공 할 수 있습니까?

0

답변은 간단 합니다만 PHP에서는 불가능합니다. 클라이언트 브라우저가이 기능을 지원하는 경우 클라이언트 스크립팅 언어를 사용해야합니다.

그러나 방문자의 IP 주소를 사용하여 얻을 수있는 정보가 있습니다. 그러나 이것은 정확한 위치를 제공하지 않을 수도 있습니다, 그것은 단지 ISP의 위치를 ​​제공합니다. (Google 애널리틱스는이 방법을 사용하여 방문자 위치를 얻습니다.) 또한 IP에 위치 정보를 제공하는 큰 DB가 필요하거나 IP 주소에서 위치 정보를 제공하는 무료/유료 서비스를 받아야합니다.

희망이 있습니다.

관련 문제