网站首页
网站导航
Ctrl+D收藏
首 页
代码段
源码包
文档库
工具箱
代码语言
.
CSharp
.
JS
Java
Asp.Net
C
MSSQL
PHP
Css
PLSQL
Python
Shell
EBS
ASP
Perl
ObjC
VB.Net
VBS
MYSQL
GO
Delphi
AS
DB2
Domino
Rails
ActionScript
Scala
代码分类
文件
系统
字符串
数据库
网络相关
图形/GUI
多媒体
算法
游戏
Jquery
Extjs
Android
HTML5
菜单
网页交互
WinForm
控件
企业应用
安全与加密
脚本/批处理
开放平台
其它
【
Objectc
】
地图定位
作者:
岸珂
/ 发布于
2016/4/6
/
331
// // ViewController.m // #import "ViewController.h" #import <MapKit/MapKit.h> @interface ViewController ()<MKMapViewDelegate,UISearchBarDelegate> { UISearchBar * searchBar1 ; MKMapView * mapview; } @end @implementation ViewController - (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view, typically from a nib. //地图初始化 mapview = [[MKMapView alloc]initWithFrame:CGRectMake(0, 80, self.view.frame.size.width, self.view.frame.size.height)]; //设置地图类型 mapview.mapType = MKMapTypeStandard ; //设置代理 mapview.delegate = self; //设置地图 显示用户位置 可以滚动 可以粘合 可以缩放 不可旋转 mapview.showsUserLocation = YES; mapview.rotateEnabled = NO; mapview.scrollEnabled = YES; mapview.zoomEnabled = YES; mapview.pitchEnabled = YES; //添加子视图 [self.view addSubview:mapview]; //初始化搜索条 searchBar1 = [[UISearchBar alloc]initWithFrame:CGRectMake(0, 20, self.view.frame.size.width, 60)]; searchBar1.delegate = self; // searchBar1.text = @"北京市动物园"; searchBar1.placeholder = @"请输入地址"; // searchBar1.showsBookmarkButton = YES; // searchBar1.showsCancelButton = YES; [self.view addSubview:searchBar1]; } //用户在搜索框中输入内容的时候 改变按钮的名字 变成“搜索” -(void)searchBarTextDidBeginEditing:(UISearchBar *)searchBar { searchBar1.showsCancelButton = YES; for(id cc in [searchBar1.subviews[0] subviews]) { if ([cc isKindOfClass:[UIButton class]]) { UIButton * btn = (UIButton *)cc; [btn setTitle:@"搜索" forState:UIControlStateNormal]; } } } // // 当用户单击“取消”按钮时激发该方法 // 由于我们重定义了该控件的外观——将取消按钮的文本改成了“搜索”,因此单击取消按钮也执行搜索 -(void)searchBarCancelButtonClicked:(UISearchBar *)searchBar { [searchBar1 resignFirstResponder]; NSString * str = searchBar1.text; [self GotoLocation:str]; } // 当用户单击虚拟键盘上的“搜索”按钮时激发该方法 -(void)searchBarSearchButtonClicked:(UISearchBar *)searchBar { [searchBar1 resignFirstResponder]; NSString * str = searchBar1.text; if (str.length > 0) { [self GotoLocation:str]; }else { NSLog(@"地址错误"); } } //自己定义的方法 用来跳转至相应地方 -(void)GotoLocation:(NSString *)address { CLGeocoder * geocoder = [[CLGeocoder alloc]init]; [geocoder geocodeAddressString:address completionHandler:^(NSArray<CLPlacemark *> * _Nullable placemarks, NSError * _Nullable error) { if (placemarks.count >0 && error == nil) { CLPlacemark * placemark = [placemarks lastObject]; CLLocation * location = placemark.location; dispatch_async(dispatch_get_main_queue(), ^{ //跳至指定位置 [mapview setRegion:MKCoordinateRegionMake(location.coordinate, MKCoordinateSpanMake(0.01, 0.01))]; //锚点 MKPointAnnotation * point = [[MKPointAnnotation alloc]init]; point.coordinate = location.coordinate; point.title = placemark.name; point.subtitle = [NSString stringWithFormat:@"%@-%@-%@-%@",placemark.country,placemark.administrativeArea,placemark.locality,placemark.subLocality]; [mapview addAnnotation:point]; [mapview selectAnnotation:point animated:YES]; }); }else{ NSLog(@"没有拼配的数据"); } }]; } - (void)didReceiveMemoryWarning { [super didReceiveMemoryWarning]; // Dispose of any resources that can be recreated. } @end
评论列表
本站所提供的代码,版权归原作者所有,若有侵犯作者版权,请与我们联系,我们将立即删除或修改。谢谢!
本站所有代码发布及提供者。
试试其它关键字
地图定位
同语言下
.
根据当前日期计算星期几
.
屏幕中间的弹框列表
.
禁用iOS的UIView长按默认操作
.
IOS判断用户的网络类型(2/3/4G、wifi)
.
iOS7和iOS6适配,和保留之前的坐标编码习惯,不用刻意
.
iOS开发 iOS8 分割线右移15像素 将其归零
.
ios 常用的宏定义方法
.
IOS应用直接 跳转AppStore 的方法 IOS7以上
.
iOS iOS8中 问题"registerForRemoteNotificationTypes
.
通过当前的view找到所在view的控制器
可能有用的
.
SQL查询 多列合并成一行用逗号隔开
.
一行一行读取txt的内容
.
C#动态修改文件夹名称(FSO实现,不移动文件)
.
c# 移动文件或文件夹
.
c#图片添加水印
.
Java PDF转换成图片并输出给前台展示
.
网站后台修改图片尺寸代码
.
处理大图片在缩略图时的展示
.
实现对图片上传的接收
.
判断用户输入的是否为IP地址
岸珂
贡献的其它代码
(
15
)
.
生成带参数的小程序二维码
.
从xls里读取数据,批量重命名文件.
.
计算某时间段含有假期的天数
.
时间比较
.
文件流的读写
.
防类似DDOS攻击(CC攻击)代码
.
字符串相关
.
基于NPOI开源框架写的ExcelHelper
.
全排列和组合算法
.
改变select的样式
地图
本站
我们
服务
版权
联系
回馈
博客