MKMapView不读取给定的坐标

时间:2014-01-12 09:07:15

标签: ios mkmapview mapkit

ViewController.h

#import <UIKit/UIKit.h>
#import "MapKit/MapKit.h"
@interface ViewController : UIViewController <MKMapViewDelegate>
@property (weak, nonatomic) IBOutlet MKMapView *mapView;
@end

ViewController.m

#import "ViewController.h"
@interface ViewController ()
@end

@implementation ViewController


- (void)viewDidLoad
{
[super viewDidLoad];

//Setting Region
//MKCoordinateRegion *myRegion;

//Center
CLLocationCoordinate2D center;
center.longitude = 55.316667;
center.latitude = 25.266667;

//SPAN
MKCoordinateSpan span;
span.latitudeDelta = 0.30f;
span.longitudeDelta = 0.30f;

}

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

@end

正如您所看到的,我的代码看起来很好,通常它应该显示纬度和经度值中给出的位置。但相反它显示了这一点:

enter image description here

我正在使用iOS 6在Xcode 5中工作。

关于这个问题的任何想法?

1 个答案:

答案 0 :(得分:1)

在显示的代码中没有任何地方“为地图视图提供坐标”,为什么它应该做什么?

所有代码都是:

  1. center方法中声明名为spanviewDidLoad的局部变量。
  2. 设置这些局部变量的值(地图视图一无所知)。
  3. viewDidLoad方法结束(使用局部变量的值执行 nothing )。
  4. 在设置centerspan实际后添加此行会将坐标提供给地图视图,以便显示这些坐标:

    mapView.region = MKCoordinateRegionMake(center, span);
    

    (当然,假设mapView IBOutlet连接到xib中的MKMapView。)

    现在,这将使地图视图居中于您指定的坐标处,就是它。

    如果您期望任何其他效果(例如出现在坐标处的图钉),您将需要使用这些坐标创建注释并告诉地图视图添加它。