gpt4 book ai didi

ios - 在 IOs 中显示特定位置和注释的 mapView

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:05:05 24 4
gpt4 key购买 nike

我想创建一个显示确切位置(坐标:纬度 45.733333° 和经度 9.133333°)的 mapView,添加带有标题和副标题的简单注释。ma 必须是静态的,不需要有当前用户位置或任何其他信息。

我在选项卡式应用程序的简单 View Controller 中添加 map 查看器。我有我的 MapViewController 文件,我将它们连接(我猜)到我的 ViewController,但我似乎找不到教程来做我需要的,其他的非常复杂,我认为他们做的比我实际做的要多得多需要,我是初学者,所以遇到了一些麻烦。

谢谢!

最佳答案

试试这个:

    CLLocationCoordinate2D coord;
coord.latitude = 45.733333;
coord.longitude = 9.133333;

MKAnnotation *ann = [[MKAnnotation alloc] initWithLocation:coord];
[ann setTitle:@"Title"];
[ann setSubtitle:@"Subtitle"];
[map addAnnotation:ann];

不要忘记将变量更改为您的变量名称。

编辑

解决方法:

创建一个类 AddressAnnotation 并粘贴此代码:

地址注释.h

#import <Foundation/Foundation.h>
#import <MapKit/MapKit.h>

@interface AddressAnnotation : NSObject <MKAnnotation> {
CLLocationCoordinate2D _coordinate;
NSString *_title;
}

@property (nonatomic, retain) NSString *title;

-(id)initWithCoordinate:(CLLocationCoordinate2D)c;

@end

地址注释.m

#import "AddressAnnotation.h"

@implementation AddressAnnotation

- (NSString *)subtitle{
return nil;
}

- (NSString *)title{
return _title;
}

- (CLLocationCoordinate2D)coordinate{
return _coordinate;
}

-(id)initWithCoordinate:(CLLocationCoordinate2D)c{
_coordinate = c;
return self;
}

@end

现在,这是一个处理 map 和创建注释的类:

MapViewController.h

#import <UIKit/UIKit.h>
#import <MapKit/MapKit.h>

@interface MapViewController : UIViewController

@property (nonatomic, retain) IBOutlet MKMapView *mapView;

- (IBAction)changeMapType:(UISegmentedControl *)control;

@end

MapViewController.m

#import "MapViewController.h"
#import "AddressAnnotation.h"

@interface MapViewController ()

@end

@implementation MapViewController

- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
{
self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
if (self) {
// Custom initialization
}
return self;
}

- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view from its nib.

CLLocationCoordinate2D location;
location.latitude = -15.830731; // change to your coordinate latitude
location.longitude = -47.8753; // change to your coordinate longitude

AddressAnnotation *addAnnotation = [[AddressAnnotation alloc] initWithCoordinate:location];
addAnnotation.title = [NSString stringWithFormat:@"Title for you annotation"];

MKCoordinateRegion region;
MKCoordinateSpan span;
span.latitudeDelta = 0.002; // 0.0 is min value u van provide for zooming
span.longitudeDelta= 0.002;

region.span=span;
region.center =location; // to locate to the center
[_mapView addAnnotation:addAnnotation];
[_mapView setRegion:region animated:TRUE];
[_mapView regionThatFits:region];

}

- (void)didReceiveMemoryWarning
{
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}

@end

关于ios - 在 IOs 中显示特定位置和注释的 mapView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15396403/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com