Ios 在我的地图上添加一个标记
我是iOS新手,它与Android逻辑如此不同,以至于我找不到如何在地图上添加标记:-| 我已将Ios 在我的地图上添加一个标记,ios,map,mapkit,marker,Ios,Map,Mapkit,Marker,我是iOS新手,它与Android逻辑如此不同,以至于我找不到如何在地图上添加标记:-| 我已将MKMapView添加到我的xib 我已将此代码添加到我的.m(已修剪) #导入“AppDelegate.h” #进口 @接口鸽() @属性(弱、非原子)IBMMapView*mappa; @结束 #定义每英里的米数1609.344 @执行鸽 -(iAction)vaiHome:(id)发件人{ Index*second=[[Index alloc]initWithNibName:@“Index”bu
MKMapView
添加到我的xib
我已将此代码添加到我的.m(已修剪)
#导入“AppDelegate.h”
#进口
@接口鸽()
@属性(弱、非原子)IBMMapView*mappa;
@结束
#定义每英里的米数1609.344
@执行鸽
-(iAction)vaiHome:(id)发件人{
Index*second=[[Index alloc]initWithNibName:@“Index”bundle:nil];
[自我呈现视图控制器:第二个动画:是完成:无];
}
-(无效)viewDidLoad
{
[超级视图下载];
C定位协调2 D动物定位;
zoomLocation.latitude=45.40170;
zoomLocation.经度=8.91552;
MKCoordinateRegion viewRegion=MKCoordinateRegionMakeWithDistance(缩放位置、米/英里、米/英里);
[_MappaSetRegion:viewRegion动画:是];
[_MappaRegionAtfits:viewRegion];
}
现在,如何在该位置显示pin?这应该很简单,但我找不到解决方案:-|
此外,地图仍在美国,但大部分都在标记处
非常感谢。首先,您必须设置注释标记(在viewdidload中调用此标记): 然后,必须设置MKMapViewDelegate方法:
- (void)mapView:(MKMapView *)mv didAddAnnotationViews:(NSArray *)views
{
MKAnnotationView* annotView = [views objectAtIndex:0];
id<MKAnnotation> mp = [annotView annotation];
MKCoordinateRegion region = [mv regionThatFits:MKCoordinateRegionMakeWithDistance([mp coordinate], REGION_WINDOW, REGION_WINDOW)];
[mv setRegion:region animated:YES];
}
-(void)地图视图:(MKMapView*)mv didaddannotationview:(NSArray*)视图
{
MKAnnotationView*annotView=[views objectAtIndex:0];
id mp=[annotView注释];
MKCoordinateRegion region=[mv RegionAtfits:MKCoordinateRegionMakeWithDistance([mp坐标],region_窗口,region_窗口)];
[mv setRegion:区域动画:是];
}
NARMAPVIEW注释:
#import <Foundation/Foundation.h>
#import <MapKit/MapKit.h>
@interface NARMapViewAnnotation : NSObject <MKAnnotation>
@property (nonatomic, assign) CLLocationCoordinate2D coordinate;
- (id)initWithCoord:(CLLocationCoordinate2D)coord;
@end
#import "NARMapViewAnnotation.h"
@implementation NARMapViewAnnotation
- (id)initWithCoord:(CLLocationCoordinate2D)coord
{
if (self = [super init])
{
_coordinate = coord;
}
return self;
}
@end
#导入
#进口
@接口NARMapViewAnnotation:NSObject
@属性(非原子,赋值)CLLocationCoordinate2D坐标;
-(id)initWithCoord:(CLLocationCoordinate2D)coord;
@结束
#导入“NARMapViewAnnotation.h”
@MapViewAnnotation的实现
-(id)initWithCoords:(CLLocationCoordinate2D)Coords
{
if(self=[super init])
{
_坐标=坐标;
}
回归自我;
}
@结束
抱歉,我不明白,因为我收到了一个未声明标识符NARMapViewAnnotation和annotah抱歉的错误。这是您创建的自定义注释标记。我会为它添加代码。它告诉我NarmapViewAnnotation中没有可见的@interface initWithCoord。请确保拼写正确?它就在NARMapViewAnnotation类中。请阅读《苹果位置和地图编程指南》的一节(建议阅读该指南的其余部分)。简单的答案是:创建一个MKPointAnnotation对象,设置其属性,然后调用addAnnotation。这肯定有数百个答案,仅此而已。
- (void)mapView:(MKMapView *)mv didAddAnnotationViews:(NSArray *)views
{
MKAnnotationView* annotView = [views objectAtIndex:0];
id<MKAnnotation> mp = [annotView annotation];
MKCoordinateRegion region = [mv regionThatFits:MKCoordinateRegionMakeWithDistance([mp coordinate], REGION_WINDOW, REGION_WINDOW)];
[mv setRegion:region animated:YES];
}
#import <Foundation/Foundation.h>
#import <MapKit/MapKit.h>
@interface NARMapViewAnnotation : NSObject <MKAnnotation>
@property (nonatomic, assign) CLLocationCoordinate2D coordinate;
- (id)initWithCoord:(CLLocationCoordinate2D)coord;
@end
#import "NARMapViewAnnotation.h"
@implementation NARMapViewAnnotation
- (id)initWithCoord:(CLLocationCoordinate2D)coord
{
if (self = [super init])
{
_coordinate = coord;
}
return self;
}
@end