2013-10-07 12 views
3

모두!HTML5 API가없는 Geolocation

현재 사용자 City를 결정해야합니다. HTML5는 문제가되지 않습니다. 그러나 나는 오래된 브라우저를 지원해야한다 (즉, 7,8). 우선 IP 주소를 사용하여 위치를 찾은 것 같습니다. 하지만 구현하기가 쉽지 않습니다. (실제 데이터베이스가 필요합니다). 무료 웹 서비스는 필요한 정보를 제공하지 않습니다. 이들 중 상당수는 국가를 결정할 수 있지만 (도시는 제외)

이 서비스는 http://www.geoplugin.net/을 사용하려고 시도했으며이 서비스는 국가만으로 (다른 국가는 무료) 반환합니다. IP가있는 CSV 데이터베이스를 사용해 보았습니다 (인터넷에서 구 버전을 찾을 수 있음).

사용자 도시를 결정할 수있는 무료 방법을 알고 계십니까? 감사합니다.

+0

당신은 어떤 생각을 가지고 있습니까? –

답변

1

일부 구형 브라우저는 사용자 위치를 특정 형식으로 가져 오는 것에 대해 일부 지원을 제공합니다. 위로 IE7/8 일 동안 몇몇 브라우저는 여러 가지 방법으로 위치 정보를 처리했습니다. 이것은 개발자에게 고통이었습니다. IE7/8에서이 작업을 수행하는 방법을 기억할 수는 없지만이를 위해 랩퍼 라이브러리를 작성하는 것을 기억하십시오. 이제는 대부분의 사람들이 다양한 브라우저 구현을 처리하는 래퍼 라이브러리를 사용합니다. http://msdn.microsoft.com/en-us/library/hh125833.aspx

+0

흥미 롭지 만 MS 클래스가 HTML5 API를 사용하는 것처럼 보입니다. 제 경우에는 사용자의 동의 없이도 국가를 탐지 할 수 있기를 원합니다. –

+0

그런 경우 사용자 IP 주소를 캡쳐 한 다음 조회 테이블에서 국가를 조회해야합니다. 이 데이터를 가지고있는 무료 데이터베이스가 많이 있습니다. – rbrundritt

+0

고맙습니다. @rbrundritt .. 우리는 WordPress 클라이언트이므로, IP 기반의 위치 정보 플러그인을 이용할 수 있습니다. –

0

이 작업에 대한 우리의 위치 정보 API https://ip-api.io를 사용할 수 있습니다 빙지도 V7 자바 스크립트는 귀하의 사이트에지도를 필요로하는 경우 옵션이 될 수있는 자신의 API의 일반적인 GeoLocationProvider 클래스에 모든 이전 및 새 기능을 래핑합니다. 그것은 국가, 도시, 우편 번호와 같은 데이터를 제공

예 요청 :

$.getJSON("http://ip-api.io/json/", 
    function(result) { 
     console.log(result); 
    }); 

예 응답 :

{ 
    "ip": "64.30.228.118", 
    "country_code": "US", 
    "country_name": "United States", 
    "region_code": "FL", 
    "region_name": "Florida", 
    "city": "Fort Lauderdale", 
    "zip_code": "33309", 
    "time_zone": "America/New_York", 
    "latitude": 26.1882, 
    "longitude": -80.1711, 
    "metro_code": 528, 
    "suspicious_factors": { 
    "is_proxy": false, 
    "is_tor_node": false, 
    "is_spam": false, 
    "is_suspicious": false 
    } 
}