自从HTML5里集成了在浏览器端通过JavaScript就可以获得用户的经纬度(latitude, longitude), IP作为定位用户的地址信息的作用就变得弱化了。
navigator.geolocation.getCurrentPosition(successHandler, errorHandler);
但经纬度转为地理信息,还是要经过一番折腾。
IP — location
IP — latitude & Longitude — location
IPInfoDB推出的免费服务,将IP地址换成location(city level)和经纬度的服务还不错的。
http://ipinfodb.com/ip_location_api.php
限速是 2 requests per second.
另外,百度开发者服务里也有IP2Loc的服务http://api.map.baidu.com/lbsapi/cloud/ip-location-api.htm,如
http://api.map.baidu.com/location/ip?ak=F454f8a5efe5e577997931cc01de3974&ip=202.198.16.3&coor=bd09ll
限速1百万requests per day.
补充, lat & lngt –> Address 的百度相应的服务:
http://api.map.baidu.com/marker?location=40.047669,116.313082&title=我的位置&content=百度奎科大厦&output=html&src=yourComponyName|yourAppName