iOS开发-------地图定位显示周围微博(CLLocationManager 定位管理)

本文主要是介绍iOS开发-------地图定位显示周围微博(CLLocationManager 定位管理),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

       上一篇说到如何给一个固定的位置在地图上显示,但是手机端的定位肯定不是这样的,而是需要随着我们的位置变化而定位,所以就需要到了这一篇中的一个类CLLocationManager(定位管理器),看到manager的第一感觉,会不会是个单例,但这一个类不是一个单例,但起着和单例一样作用,因为它所指向的内存就是手机内部负责定位的组件,而这个硬件组件的地址是唯一的,所以alloc init之后,所得到的地址是一样的。话不多讲,代码以及视图才是王道。


源码的GitHub:https://github.com/YRunIntoLove/LocationPractise


      相比于上一篇文章中的weiboManager中请求数据的方法,昨天进行了相应的优化,优化只不过是对参数的要求更加简洁,毕竟逻辑层越简单越好,数据层的处理麻烦点不是问题,model类没有发生变化,方法修改如下:

/***  获取某个位置的周边微博**  @param access_token 用的token值*  @param myLocation   当前的位置*  @param count        获取数量*  @param b            获取的微博列表*/
-(void)getWeiboNearByTimeLineWithToken:(NSString *)access_token WithLocation:(CLLocationCoordinate2D)myLocation Count:(NSInteger)count BlockHandle:(WBM)b
{//创建参数字典NSDictionary * parameterDict = @{@"access_token":access_token,@"lat":[NSString stringWithFormat:@"%lf",myLocation.latitude],@"long":[NSString stringWithFormat:@"%lf",myLocation.longitude],@"count":[NSString stringWithFormat:@"%ld",count]};//开始请求[self.operationManager GET:nearby_timeLine parameters:parameterDict success:^void(AFHTTPRequestOperation * operation, NSData * data) {NSError * error;//创建一个字典接收数据NSDictionary * resultDict = [NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingAllowFragments error:&error];//接收数组NSArray * weiboArray = resultDict[@"statuses"];//创建一个可变数组,存储最后的结果NSMutableArray * resultArray = [NSMutableArray array];//开始遍历,并且添加数据for (NSDictionary * tempDict in weiboArray){//创建一个微博模型Weibo * weibo = [[Weibo alloc]init];//开始赋值weibo.userName = tempDict[@"user"][@"name"];weibo.weiboText = tempDict[@"text"];//为坐标赋值NSString * lat = tempDict[@"geo"][@"coordinates"][0];

这篇关于iOS开发-------地图定位显示周围微博(CLLocationManager 定位管理)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/242967

相关文章

基于Python开发Windows屏幕控制工具

《基于Python开发Windows屏幕控制工具》在数字化办公时代,屏幕管理已成为提升工作效率和保护眼睛健康的重要环节,本文将分享一个基于Python和PySide6开发的Windows屏幕控制工具,... 目录概述功能亮点界面展示实现步骤详解1. 环境准备2. 亮度控制模块3. 息屏功能实现4. 息屏时间

CSS Anchor Positioning重新定义锚点定位的时代来临(最新推荐)

《CSSAnchorPositioning重新定义锚点定位的时代来临(最新推荐)》CSSAnchorPositioning是一项仍在草案中的新特性,由Chrome125开始提供原生支持需... 目录 css Anchor Positioning:重新定义「锚定定位」的时代来了! 什么是 Anchor Pos

springboot项目中整合高德地图的实践

《springboot项目中整合高德地图的实践》:本文主要介绍springboot项目中整合高德地图的实践,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一:高德开放平台的使用二:创建数据库(我是用的是mysql)三:Springboot所需的依赖(根据你的需求再

Python实例题之pygame开发打飞机游戏实例代码

《Python实例题之pygame开发打飞机游戏实例代码》对于python的学习者,能够写出一个飞机大战的程序代码,是不是感觉到非常的开心,:本文主要介绍Python实例题之pygame开发打飞机... 目录题目pygame-aircraft-game使用 Pygame 开发的打飞机游戏脚本代码解释初始化部

使用Python开发一个现代化屏幕取色器

《使用Python开发一个现代化屏幕取色器》在UI设计、网页开发等场景中,颜色拾取是高频需求,:本文主要介绍如何使用Python开发一个现代化屏幕取色器,有需要的小伙伴可以参考一下... 目录一、项目概述二、核心功能解析2.1 实时颜色追踪2.2 智能颜色显示三、效果展示四、实现步骤详解4.1 环境配置4.

使用jenv工具管理多个JDK版本的方法步骤

《使用jenv工具管理多个JDK版本的方法步骤》jenv是一个开源的Java环境管理工具,旨在帮助开发者在同一台机器上轻松管理和切换多个Java版本,:本文主要介绍使用jenv工具管理多个JD... 目录一、jenv到底是干啥的?二、jenv的核心功能(一)管理多个Java版本(二)支持插件扩展(三)环境隔

Python使用smtplib库开发一个邮件自动发送工具

《Python使用smtplib库开发一个邮件自动发送工具》在现代软件开发中,自动化邮件发送是一个非常实用的功能,无论是系统通知、营销邮件、还是日常工作报告,Python的smtplib库都能帮助我们... 目录代码实现与知识点解析1. 导入必要的库2. 配置邮件服务器参数3. 创建邮件发送类4. 实现邮件

RedisTemplate默认序列化方式显示中文乱码的解决

《RedisTemplate默认序列化方式显示中文乱码的解决》本文主要介绍了SpringDataRedis默认使用JdkSerializationRedisSerializer导致数据乱码,文中通过示... 目录1. 问题原因2. 解决方案3. 配置类示例4. 配置说明5. 使用示例6. 验证存储结果7.

Python中bisect_left 函数实现高效插入与有序列表管理

《Python中bisect_left函数实现高效插入与有序列表管理》Python的bisect_left函数通过二分查找高效定位有序列表插入位置,与bisect_right的区别在于处理重复元素时... 目录一、bisect_left 基本介绍1.1 函数定义1.2 核心功能二、bisect_left 与

基于Python开发一个有趣的工作时长计算器

《基于Python开发一个有趣的工作时长计算器》随着远程办公和弹性工作制的兴起,个人及团队对于工作时长的准确统计需求日益增长,本文将使用Python和PyQt5打造一个工作时长计算器,感兴趣的小伙伴可... 目录概述功能介绍界面展示php软件使用步骤说明代码详解1.窗口初始化与布局2.工作时长计算核心逻辑3