2011-08-18 35 views
5

Tôi đang cố gắng sử dụng MKMapView. Tôi đã thành công trong việc làm cho bản đồ thế giới xuất hiện. Tuy nhiên, tôi có thể dường như không thay đổi khu vực:MKMapView đặt khu vực

Tôi có một nút đó sẽ thực hiện điều này:

NSLog(@"%f, %f, %f, %f, 
mapView.region.center.latitude, 
mapView.region.center.longitude, 
mapView.region.span.latitudeDelta, 
mapView.region.span.longitudeDelta); 

Bây giờ, trong phương pháp viewDidLoad của tôi, tôi cố gắng để thiết lập một khu vực bắt đầu để xem:

CLLocationCoordinate2D startCoord; 
startCoord.latitude = 49.0; 
startCoord.longitude = -123.0; 
[mapView setRegion:MKCoordinateRegionMakeWithDistance(startCoord, 200, 200) animated:YES]; 

Khi chế độ xem không tải, nó hiển thị cùng một bản đồ thế giới thay vì một khu vực nhỏ hơn như mong đợi. Ngay lập tức đăng nhập thuộc tính của khu vực mang lại cho tôi:

0,000000, 0,001417, 0,000000, 0,000000

Di chuyển bản đồ xung quanh một chút, thay đổi kích thước và phóng to không làm thay đổi các giá trị (ngoại trừ thứ hai quay ngược lại để 0,000000) .

Có vẻ như mapView.region không tương ứng với những gì tôi thấy trên màn hình, nhưng tôi khá chắc chắn rằng tôi đã tạo liên kết IB chính xác, tôi đang xem chúng ngay bây giờ. Điều gì có thể là vấn đề?

+0

[MapView regionThatFits: MKCoordinateRegionMakeWithDistance (startCoord, 200, 200)]; Thêm dòng này vào mã của bạn. – Harsh

Trả lời

24

Bạn cần phải làm

CLLocationCoordinate2D startCoord = CLLocationCoordinate2DMake(49, -123); 
MKCoordinateRegion adjustedRegion = [mapView regionThatFits:MKCoordinateRegionMakeWithDistance(startCoord, 200, 200)]; 
[mapView setRegion:adjustedRegion animated:YES]; 
Các vấn đề liên quan