用到的类 CLGeocoder,用来将输入的地名编码为CLPlacemark,CLPlacemark封装了一地理信息
上代码
- (void)gencodeQuery :(NSString*)place { CLGeocoder *geocoder = [[CLGeocoder alloc]init]; //对地理位置进行编码 [geocoder geocodeAddressString:place completionHandler:^(NSArray *placemarks,NSError *error){ for (int i = 0; i != placemarks.count; ++i) { CLPlacemark *placemark = placemarks[i]; //地图进行缩放,第一个参数是中心,第二个参数是南北跨度,第三个参数是东西跨度 MKCoordinateRegion region = MKCoordinateRegionMakeWithDistance(placemark.location.coordinate, 30000, 30000); [mapView setRegion:region]; //在地图上添加标注,MapLocation是自定义类,实现了MKAnnotation协议 MapLocation *annotation = [[MapLocation alloc]init]; annotation.streetAddress = placemark.thoroughfare; annotation.city = placemark.locality; annotation.state = placemark.administrativeArea; annotation.zip = placemark.postalCode; annotation.coordinate = placemark.location.coordinate; //添加标注,添加后回回调MKMapViewDelegate的 //- (MKAnnotationView*)mapView:(MKMapView *)parmMapView viewForAnnotation:(id<MKAnnotation>)annotation //自定义MapLocation的原因是addAnnotation接收id <MKAnnotation>参数 [mapView addAnnotation:annotation]; } }]; } #pragma MKMapViewDelegate - (MKAnnotationView*)mapView:(MKMapView *)parmMapView viewForAnnotation:(id<MKAnnotation>)annotation { MKPinAnnotationView *animationView = (MKPinAnnotationView*)[parmMapView dequeueReusableAnnotationViewWithIdentifier:@"T"]; if(animationView == nil) animationView = [[MKPinAnnotationView alloc]initWithAnnotation:annotation reuseIdentifier:@"T"]; animationView.pinColor = MKPinAnnotationColorGreen;//设置标注的颜色 animationView.animatesDrop = YES;//设置动画 animationView.canShowCallout = YES;//显示详细信息当点击标注的时候 return animationView; } 自定义的类 @interface MapLocation : NSObject<MKAnnotation> @property(nonatomic,readwrite) CLLocationCoordinate2D coordinate; @property(nonatomic,strong) NSString *streetAddress; @property(nonatomic,strong) NSString *city; @property(nonatomic,strong) NSString *state; @property(nonatomic,strong) NSString *zip; @end ------------- @implementation MapLocation - (NSString*)title { return@"您的位置!"; } - (NSString*)subtitle { NSString *ret = @""; ret = [ret stringByAppendingString:self.state]; ret = [ret stringByAppendingString:self.city]; return ret; } @end
相关推荐
提供的源码资源`MyMap`可能包含了实现上述功能的完整代码,包括创建`CLLocationManager`,设置地图视图,添加标注,以及处理用户交互等。通过学习和分析这个实例,开发者可以快速理解和掌握iOS地图定位和标注的相关...
此外,可以使用`setCenterCoordinate:animated:`方法平滑地改变地图中心点,或者使用`addAnnotations:animated:`批量添加标注并启用动画效果。 7. **性能优化** 当地图上有大量标注时,为了提高性能,可以使用...
其次,为了实现苹果地图的风格,开发者可能使用了MKMapView类,这是苹果提供的地图接口,可以显示地图、定位、添加标注等功能。地图视图可以嵌入到滚动视图中,使得用户可以滚动地图并进行放大缩小操作。 接着,...
保证没有任何功能限制 电脑离线电子地图标注软件主要功能如下:可以标注位置,可以搜索地图上本来有的位置和标注的位置,可以把某个标注的位置显示在地图中心。软件支持电脑在线下载地图后(离线)地图查看浏览, 1....
MapKit是iOS SDK中用于展示地图、定位用户位置以及添加标注的重要框架。它集成了Apple Maps服务,允许开发者在应用程序中集成高质量的地图体验。 1. **导入MapKit框架** 在Xcode项目中,你需要导入MapKit库才能...
在iOS平台上,集成第三方地图应用,如百度、高德、腾讯和苹果地图,为用户提供导航功能,是一项常见的需求。这不仅能够丰富应用的功能,还能利用这些专业地图服务的精准定位和实时交通信息,提高用户体验。以下将...
通过MKMapView,我们可以设置地图的显示范围、中心点、缩放级别等,并且可以添加标注。 3. **MKAnnotation**:这是一个协议,定义了地图标注的基本属性,如坐标(latitude, longitude)、标题(title)和副标题...
这篇教程将详细介绍如何在iPhone应用中实现在百度地图上显示当前位置并添加大头针标记。 首先,你需要在你的Xcode项目中引入百度地图SDK。可以通过访问百度地图开放平台(http://lbsyun.baidu.com/)注册开发者账号...
在iOS开发中,`MKMapView` 是苹果提供的地图视图组件,用于展示地图并进行相关交互。本主题聚焦于如何在`MKMapView`上同时显示多个自定义的气泡(callouts),并通过手势来实现这一功能。这在地图应用中非常常见,...
"地图用大头针标注,定位,查看"这个标题所涵盖的知识点主要涉及iOS的MapKit框架,它是苹果为开发者提供的用于集成地图服务的API。下面将详细介绍如何在iOS应用中实现地图定位、大头针标注以及自定义大头针的操作。 ...
在这个“对地图添加标记”的项目中,我们有三个演示(demo)来详细讲解如何利用`MKMapView`实现不同类型的地图标记。 1. **默认地图标记** 默认地图标记通常是蓝色的小圆点,表示地图上的当前位置。在iOS中,我们...
在iOS开发中,MapKit框架提供了强大的地图功能,允许开发者集成苹果地图到自己的应用程序中。在本主题"(0098)-iOS/iPhone/iPad/iPod源代码-地图(Map)-Customized MapKit"中,我们将探讨如何自定义地图,包括...
通过MapKit,我们可以添加交互式地图、显示定位、添加标注、规划路线等。 4. **高德地图API**:虽然Apple提供了MapKit,但这里使用的是高德地图API,可能是因为其功能更丰富或更适合需求。高德地图API提供了多种...
例如,你可以定义一个`BaseMapView`类,包含`showMap()`方法来加载地图,`setUserLocation()`方法来获取和显示用户位置,`addAnnotation()`方法用于添加标注。然后,为百度地图和高德地图分别创建子类`BaiduMapView`...
4. **添加标注** 如果你想在地图上显示特定位置的标记,可以创建`MKPointAnnotation`对象,设置其坐标和标题,然后添加到`MKMapView`的`annotations`属性中。地图会自动显示这些标注。 5. **交互功能** MapKit...
通过这个"MapDemo"项目,开发者可以学习到如何在iOS应用中集成并操作苹果、百度和腾讯三家地图服务,包括显示地图、定位、添加标注和路径规划等基本功能。了解这些技能有助于提升你的iOS开发能力,为用户提供更加...
2. **添加标注(Annotations)**:在地图上显示指针(即标注)通常使用MKPointAnnotation。你可以创建多个MKPointAnnotation对象,分别设置它们的坐标(latitude和longitude)和标题,然后将这些对象添加到MKMapView...
MapKit是Apple提供的一种强大的工具,它允许开发者在iOS应用中嵌入地图、定位用户位置、显示标注以及执行其他地图相关的任务。该框架集成了Google Maps和Apple Maps两种服务,开发者可以根据需求选择使用。在本例中...
3. **自定义标注(MKAnnotation)**:MapKit允许开发者创建自定义的标注视图,显示在地图上以标识特定位置。这包括实现`MKAnnotation`协议,定义坐标(coordinate)、标题(title)和副标题(subtitle)。然后,可以...
源码的实现可能涉及到Apple的MapKit框架,该框架允许开发者在iOS应用中集成地图功能,并在地图上添加自定义的标注和视图。 首先,"ocmapview.png"可能是一个示例图片,展示了地图视图在应用中的外观,而"open_...