iPhone MapKit地图开发框架
iOS 的地图开发,MapKit 算是老朋友了,功能挺全的,集成也不难。
核心是MKMapView,地图显示全靠它。你可以设置地图类型、加个大头针、搞个缩放啥的,响应也快,体验还不错。初始化过程也不复杂,viewDidLoad
里搞定,再加到视图上就能跑起来。
用户定位也挺好整的,直接把showsUserLocation
设成YES
,地图上就能看到小蓝点。调试的时候用模拟器搭配 iSimulate,还蛮方便的。
地图类型切换用mapType
,标准、卫星、混合都能换,配个UISegmentedControl
切起来挺顺手。比如:
switch (((UISegmentedControl*)sender).selectedSegmentIndex) {
case 0: mapView.mapType = MKMapTypeStandard; break;
case 1: mapView.mapType = MKMapTypeSatellite; break;
default: mapView.mapType = MKMapTypeHybrid; break;
}
标注(Annotation)也常用。你得写个类实现MKAnnotation
协议,再往地图上加实例就行。比如:
@interface HistoryMarker : NSObject {
CLLocationCoordinate2D _coordinate;
}
@property (nonatomic, readonly) CLLocationCoordinate2D coordinate;
-(id)initWithCoordinate:(CLLocationCoordinate2D)coordinate;
@end
多个标注同时显示时会重叠,这时候可以考虑做点聚合、分布优化。定位和缩放用MKCoordinateRegionMakeWithDistance
就能搞定,坐标+可视范围就行:
MKCoordinateRegion region = MKCoordinateRegionMakeWithDistance(
_mapView.userLocation.coordinate,
1000, 1000);
[_mapView setRegion:region animated:YES];
如果你打算做一个位置相关的 app,比如打卡、记录足迹、找店啥的,MapKit 完全够用。初期用原生 API 就能跑得起来,后面再考虑加聚合或个性化标注。
9.62MB
文件大小:
评论区