一般定位我们都会使用高德或者百度API,当然也可能使用其他的,这两种最常用
但是,当我们需要获取定位到的位置的天气情况时,就需要额外的操作了,我们需要将定位的位置发送给接口,获取天气信息(当然后台也是要对接相应的天气API的)
我们公司的需求是:
1:当市和区都存在的情况下
将定位到的“市”和“区”发送给接口
2:当只有市没有区的情况下
将定位到的“市”发送给接口
3:当然也有只存在区,没有市的情况(比如香港,没有市,高德定位的情况下)
将定位到的“区”发送给接口
如果不确定香港或者其他地方的位置是否显示正确需要模拟定位一下的话,可以使用下面的方法
模拟定位
一:模拟定位需要有一个gpx文件,里面的代码如下
<?xml version="1.0" encoding="UTF-8" ?>
<gpx version="1.1"
creator="GMapToGPX 6.4j - http://www.elsewhere.org/GMapToGPX/"
xmlns="http://www.topografix.com/GPX/1/1"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.topografix.com/GPX/1/1 http://www.topografix.com/GPX/1/1/gpx.xsd">
<wpt lat="23.021095" lon="113.762988">
</wpt>
</gpx>
其中lat和lon是所在位置的经纬度,在 高德和百度上可以直接查看
坐标获取入口:
然后将获取到的经纬度替换到上面的lat和lon中
二:设置定位文件
在scheme中进行如下操作指令
scheme->options->core Location->default location
位置如下
这里的None选择你添加的gpx文件名,
eg:我添加的文件是:ZhongHang.gpx,则点击None下来框里面就会出现ZhongHang的选项,直接选择即可
三:重新运行项目
重新在真机上运行项目,这里定位到的就是你填入经纬度的位置了
测试完成之后,记得把文件删除掉,options里面的信息改成None哦!
好了,这里就完成了模拟定位,是不是很简单,有错误的地方欢迎大家更正,大家一起学习
gpx实例文件下载地址如下
gpxFile