【问题标题】:MKMapView does not read the given coordinatesMKMapView 不读取给定坐标
【发布时间】:2014-01-12 09:07:14
【问题描述】:

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

如您所见,我的代码似乎没问题,通常它应该显示以纬度和经度值给出的位置。但相反,它显示了这一点:

我在 Xcode 5 和 iOS 6 中工作。

对这个问题有什么想法吗?

【问题讨论】:

    标签: ios mkmapview mapkit


    【解决方案1】:

    显示的代码中没有任何地方“将坐标提供给地图视图”,那么它为什么要这样做呢?

    所有的代码都是:

    1. viewDidLoad 方法中声明名为centerspan 的局部变量。
    2. 设置这些局部变量的值(地图视图对此一无所知)。
    3. viewDidLoad 方法结束(对局部变量的值什么都不做)。

    在设置centerspan 之后添加此行实际上坐标提供给地图视图,以便它显示这些坐标:

    mapView.region = MKCoordinateRegionMake(center, span);
    

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

    现在,这将使地图视图以您指定的坐标居中,仅此而已。

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

    【讨论】:

    • 我认为这些是坐标:center.longitude = 55.316667; center.latitude = 25.266667;
    • 正如我所说,center 只是您声明和设置的局部变量。地图视图对此一无所知,直到您通过设置地图视图的region 之类的操作将其实际提供给地图视图。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-10-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-05-02
    • 1970-01-01
    相关资源
    最近更新 更多