2012-10-27 26 views
8

Chương trình bị lỗi khi đặt tọa độ vị trí bằng cách sử dụng MKMapView. Log:MKMapView NSInvalidArgumentException Sự cố vùng không hợp lệ trong ios6

Chấm dứt ứng dụng do ngoại lệ còn tự do 'NSInvalidArgumentException', lý do: 'không hợp lệ Khu vực <center:+112.57075000, +37.87049600 span:+0.05165163, +0.43945312>'

tuổi trong chương trình của tôi là

MKCoordinateSpan span; 
span.latitudeDelta = .05; 
span.longitudeDelta = .02; 

sau khi mã hóa:

self.mMKMapview.region = [self.mMKMapview regionThatFits:region]; 

là nhật ký hiển thị, thay đổi khoảng thời gian thành: +0.05165163, +0.43945312

bất kỳ ai được trợ giúp, tôi đã dừng ở đây trong hai ngày.

Cảm ơn!

Trả lời

10

Vấn đề là center phối hợp:

+112,57075000, +37,87049600

Các vĩ độ phải từ -90 đến +90 để 112,57075 là ra khỏi phạm vi.

Kiểm tra cách tọa độ trung tâm đang được đặt hoặc có thể dữ liệu bị ngược.


Ngoài ra, bạn không cần gọi rõ ràng regionThatFits vì chế độ xem bản đồ tự động làm khi bạn đặt khu vực bình thường (ví dụ: chỉ cần gọi setRegion). Mặc dù vậy, bình thường, đối với chế độ xem bản đồ để điều chỉnh khoảng thời gian cần thiết để vừa với kích thước chế độ xem bản đồ hoặc mức thu phóng.

1

Tôi sử dụng mã sau để đặt khu vực:

if(centerLat > -89 && centerLat < 89 && centerLng > -179 && centerLng < 179){ 
    [self.mapView setRegion:region animated:YES]; 
} 
Các vấn đề liên quan