Android_OTT天气预报程序定位功能的思考

最近公司项目要求,要在android系统的电视机机顶盒之上开发一款天气预报小软件,显示在luncher上,显示当前用户所在城市的天气状况。在开发过程中,遇到了一个问题,就是怎样通过用户的IP地址来给用户定位?我试了很多次,如果用户用的是有线接入网络,那就比较方便,通过搜狐的IP查询接口(http://pv.sohu.com/cityjson)就可以得到IP的归宿地,如果用户用的是wifi接入的网络的话,就比较麻烦了,查阅了很多资料,依然无解! 这个机顶盒没有GPS,所以想通过GPS来定位是不可能的,唯一的办法就是通过IP来给用户定位,思考了很多天,没有答案啊!

这里先提供3个天气查询的接口,都是中央气象局的数据。

城市的天气:http://www.weather.com.cn/data/cityinfo/101270101.html

未来6天的天气:http://m.weather.com.cn/data/101270101.html

适时天气 :http://www.weather.com.cn/data/sk/101270101.html

后面这个” 101270101”,代表成都。每个城市都有不同的编号,这个编号中央气象局有提供,可以去查。

查IP和归宿地(搜狐的接口):http://pv.sohu.com/cityjson ,通过有线上网的话,查询的结果是正确的,但是用无线上网就不正确了!

        我在手机上用了百度地图或是谷歌地图,它们都是通过GPS获取经纬度来定位的,但是这个机顶盒上没得GPS这个功能,只能通过IP。

       我的想法是,先创建一个存储了城市名称和城市编号的XML文件或者是数据库,然后查询IP以得到IP所属的城市,然后通过查XML文件或数据库来得到城市编号,通过中央气象局的接口去获取天气。现在主要的问题就是,当用户是用wifi上网的时候,怎样查询IP的归属地?就这个问题,也不是精确到某个县城,就精确到市级城市就可以,这肯定是一个难题,我看墨迹天气也没有解决这个问题。敢问各位高人,多多指教啊。。。


      通过wifi热点定位,居藏商机! 

你可能感兴趣的:(android)