我的网站有一个页面想根据访问用户省份不同展示不同内容, 所以想知道怎么定位用户省份?
了解的方案大概有:
通过前端地理位置API获得经纬度, 再用百度地图API查省份;
通过前端第三方javascript库直接查到省份传给后端(应该跟ip地址有关);
后端直接获得客户端ip地址, 再用淘宝ip查询接口查到省份;
但每一种方案都有缺陷:
地理位置API在IE8应该不支持, 而且定位可能比较慢;
通过第三方javascript库, 那第一次请求必须返回只有脚本的空白页面, 获得省份后再发起请求;
后端获得ip地址, 如果中间有代理服务器, 担心拿不到真实ip, 另外localhost本机测试, 拿到地址是127.0.0.1, 不方便测试;
所以想询问有没有成熟的解决方案?
先粗略的通过 geoip 来展示,确保首屏加载。
前端侧 gps 获取到定位信息后,提示用户是否切换到新城市。
保留一个供用户手动切换城市的入口,并记录用户的选择,用户选择优先级最高。