MKMapView 不读取给定坐标
Posted
技术标签:
【中文标题】MKMapView 不读取给定坐标【英文标题】:MKMapView does not read the given coordinates 【发布时间】: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 中工作。
对这个问题有什么想法吗?
【问题讨论】:
【参考方案1】:显示的代码中没有任何地方“将坐标提供给地图视图”,那么它为什么要这样做呢?
所有的代码都是:
-
在
viewDidLoad
方法中声明名为center
和span
的局部变量。
设置这些局部变量的值(地图视图对此一无所知)。
viewDidLoad
方法结束(对局部变量的值什么都不做)。
在设置center
和span
之后添加此行实际上将坐标提供给地图视图,以便它显示这些坐标:
mapView.region = MKCoordinateRegionMake(center, span);
(当然,假设mapView
IBOutlet 连接到xib 中的MKMapView。)
现在,这将使地图视图以您指定的坐标居中,仅此而已。
如果您期待任何其他效果(例如出现在坐标处的图钉),您需要使用这些坐标创建注释并告诉地图视图添加它。
【讨论】:
我认为这些是坐标:center.longitude = 55.316667; center.latitude = 25.266667; 正如我所说,center
只是您声明和设置的局部变量。地图视图对此一无所知,直到您通过设置地图视图的region
之类的操作将其实际提供给地图视图。以上是关于MKMapView 不读取给定坐标的主要内容,如果未能解决你的问题,请参考以下文章
MKMapView 和 setRegion:animated: 不更新地图视觉效果
从 UIViewController 中删除我的自定义 MKMapView