#import "SecondViewController.h"
//定位头文件
#import <CoreLocation/CoreLocation.h>
//地图显示头文件
#import <MapKit/MapKit.h>
@interface SecondViewController ()
//地理编码对象
@property (strong, nonatomic)CLGeocoder *geocoder;
@end
@implementation SecondViewController
- (void)viewDidLoad {
[super viewDidLoad];
//1. 初始化
self.geocoder = [[CLGeocoder alloc] init];
//2. 调用方法, 实现定位(一下两个方法, 同时只能执行一个)
[self location1];
[self location2];
}
#pragma mark ------ 确定一个城市的位置 -------
- (void)location1{
[self.geocoder geocodeAddressString:@"北京市" completionHandler:^(NSArray<CLPlacemark *> * _Nullable placemarks, NSError * _Nullable error) {
//获取第一个地标
CLPlacemark *placeMark = [placemarks firstObject];
//将定位地标, 转换为地图地标
MKPlacemark *MKplaceMark = [[MKPlacemark alloc] initWithPlacemark:placeMark];
//字典中放一个地图类型
NSDictionary *dic = @{MKLaunchOptionsMapTypeKey:@(MKMapTypeStandard)};
//初始化地图组
MKMapItem *mapItem = [[MKMapItem alloc] initWithPlacemark:MKplaceMark];
//打开地图, 根据地图类型
[mapItem openInMapsWithLaunchOptions:dic];
}];
}
#pragma mark ------ 确定两个城市的位置 -------
- (void)location2{
[self.geocoder geocodeAddressString:@"北京市" completionHandler:^(NSArray<CLPlacemark *> * _Nullable placemarks, NSError * _Nullable error) {
//获取第一个地标
CLPlacemark *CLPlaceMarkBJ = [placemarks firstObject];
//将定位地标转换为地图地标
MKPlacemark *MKPlaceMarkBJ = [[MKPlacemark alloc] initWithPlacemark:CLPlaceMarkBJ];
#注意: 地理的编码一次只能获取一个地理位置的坐标, 若需要同时获取两个位置的地理坐标, 需要将第二个地理编码方法放到第一个地理编码方法的回调函数中进行第二个城市的定位.
[self.geocoder geocodeAddressString:@"石家庄" completionHandler:^(NSArray<CLPlacemark *> * _Nullable placemarks, NSError * _Nullable error) {
//获取第一个地标
CLPlacemark *CLPlaceMarkSJZ = [placemarks firstObject];
//将定位地标, 转换为地图地标
MKPlacemark *MKPlaceMarkSJZ = [[MKPlacemark alloc] initWithPlacemark:CLPlaceMarkSJZ];
NSDictionary *dic = @{MKLaunchOptionsMapTypeKey:@(MKMapTypeStandard)};
MKMapItem *item1 = [[MKMapItem alloc] initWithPlacemark:MKPlaceMarkBJ];
MKMapItem *item2 = [[MKMapItem alloc] initWithPlacemark:MKPlaceMarkSJZ];
[MKMapItem openMapsWithItems:@[item1, item2] launchOptions:dic];
}];
}];
}
@end```
Senior_地理编码定位(调用系统地图)
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 在我们的生活中现在很多App大多都可以获取地理位置进行相关的定位标记等,有的例如餐饮App,当我们需要订餐时,我们...
- 最近项目用到高德地图,因此来写一篇文章理一下高德的使用步骤方法,希望对大家有用! 1.注册+配置 废话不多说,要使...