gpt4 book ai didi

iphone - 使用特定的纬度和经度 Iphone 初始化 Mapkit

转载 作者:行者123 更新时间:2023-12-03 21:22:41 29 4
gpt4 key购买 nike

我正在制作一个 iPhone 应用程序,它应该从数组中获取纬度和经度,并应该使用自定义注释/图钉定位和显示 map 。我已经使用了mapkit,具体方法如下:

//MapViewController.h

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

@interface MapViewController : UIViewController <MKMapViewDelegate> {
IBOutlet MKMapView *mapView;
MKPlacemark *mPlacemark;
}

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


//MapViewController.m

#import "MapViewController.h"
#import <MapKit/MapKit.h>

@implementation MapViewController
@synthesize mapView;


// Implement viewDidLoad to do additional setup after loading the view, typically from a nib.
- (void)viewDidLoad {
[super viewDidLoad];

CLLocationCoordinate2D location = mapView.userLocation.coordinate;
MKCoordinateRegion region;
MKCoordinateSpan span;

location.latitude = 37.250556;
location.longitude = -96.358333;

span.latitudeDelta = 0.05;
span.longitudeDelta = 0.05;

region.span = span;
region.center = location;

[mapView setRegion:region animated:YES];
[mapView regionThatFits:region];
}

- (void)viewDidUnload {
// Release any retained subviews of the main view.
// e.g. self.myOutlet = nil;
[mapView setNeedsDisplay];
}


@end

这不会定位纬度和经度的位置。请帮忙。

最佳答案

我用您的代码制作了一个示例项目,它工作正常 - map 定位到预期的(看起来)区域。检查你的mapView ivar是否已初始化(IB中的连接设置是否正确?)

编辑:在代码中,您只需设置 map 的可见区域,但不向其添加任何注释(除了自动显示当前用户位置(如果您在模拟器上测试,该位置始终位于库比蒂诺))。要将图钉固定到 map 上,您需要创建一个确认MKAnnotation协议(protocol)的对象并将其添加到mapView:

// Sample example just to show annotation
// in your program you will likely need to use custom annotation objects
CLLocation* myLocation = [[CLLocation alloc] initWithLatitude:37.250556 longitude:-96.358333];
[mapView addAnnotation:myLocation];

对您的代码的一些(不太相关)评论:

  • 您不需要使用当前位置初始化位置变量,因为您可以在之后立即覆盖其坐标值
  • 为什么要在viewDidUnload方法中调用[mapView setNeedsDisplay];?我不确定这是否会导致严重问题,但您必须使用此方法来清理内存(例如释放保留的 socket ),而不是重新绘制 UI

关于iphone - 使用特定的纬度和经度 Iphone 初始化 Mapkit,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3297548/

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