2012-03-20 54 views
6

Trong phần Displaying Overlays on a Map của iOS Developer Library Hướng dẫn lập trình nâng cao nhận thức vị trí, có một ví dụ cho biết "hiển thị lớp phủ đầy và vuốt ve bao phủ trạng thái của Colorado".Dữ liệu lớp phủ iOS (MKPolygon) cho tất cả các tiểu bang của Hoa Kỳ?

// Define an overlay that covers Colorado. 
CLLocationCoordinate2D points[4]; 

points[0] = CLLocationCoordinate2DMake(41.000512, -109.050116); 
points[1] = CLLocationCoordinate2DMake(41.002371, -102.052066); 
points[2] = CLLocationCoordinate2DMake(36.993076, -102.041981); 
points[3] = CLLocationCoordinate2DMake(36.99892, -109.045267); 

MKPolygon* poly = [MKPolygon polygonWithCoordinates:points count:4]; 
poly.title = @"Colorado"; 

[map addOverlay:poly]; 

Câu hỏi Có một nguồn phối hợp dữ liệu cho tất cả 50 tiểu bang của Hoa Kỳ sử dụng này cùng một dữ liệu vĩ độ/kinh độ sẵn sàng và tự do có sẵn?

Trả lời

8

Ran một tìm kiếm Google cho chúng ta trạng thái cương geo phối và thấy stackoverflow câu hỏi Geographical boundaries of states/provinces -> Google Maps Polygon, trong đó có một câu trả lời liên kết đến XML for US state polygons (dữ liệu Colorado dưới đây).

<state name="Colorado" colour="#880000"> 
    <point lat="37.0004" lng="-109.0448"/> 
    <point lat="36.9949" lng="-102.0424"/> 
    <point lat="41.0006" lng="-102.0534"/> 
    <point lat="40.9996" lng="-109.0489"/> 
    <point lat="37.0004" lng="-109.0448"/> 
</state> 

Tôi cũng thấy US State and Country border coordinates với một liên kết đến NationalAtlas.com, First Level Administrative Boundaries (States), United States, 2005, nhưng dữ liệu mà trông giống chính xác hơn tôi cần.

Một nguồn dữ liệu khác là The State Border Data Set được liên kết với tệp có "tọa độ địa lý của các đoạn đường tạo nên đường viền của tiểu bang" (dữ liệu Colorado bên dưới).

bordindx, st1st2, milemark, lat, long, st1, st2, 
19 ,CO-NE ,0 ,40.003 ,102.051 ,08 ,31 , 
19 ,CO-NE ,68.95 ,41.002 ,102.051 ,08 ,31 , 
19 ,CO-NE ,173.19 ,41.001 ,104.053 ,08 ,31 , 
20 ,CO-NM ,0 ,36.999 ,109.044 ,08 ,35 , 
20 ,CO-NM ,333 ,37 ,103.001 ,08 ,35 , 
21 ,CO-OK ,0 ,37 ,103.001 ,08 ,40 , 
21 ,CO-OK ,52.89 ,36.993 ,102.041 ,08 ,40 , 
22 ,CO-UT ,0 ,41 ,109.049 ,08 ,49 , 
22 ,CO-UT ,276.11 ,36.999 ,109.044 ,08 ,49 , 
23 ,CO-WY ,0 ,41.001 ,104.053 ,08 ,56 , 
23 ,CO-WY ,260.18 ,41 ,109.049 ,08 ,56 , 

Cập nhật: tôi đặt một phiên bản tinh tế của states.xml, cũng như mã Objective-C trên một repo kjhsoftware/us-state-polygons github.

+2

Sử dụng một số điều này, tôi đã tạo một dự án mẫu thực hiện lớp phủ này: https://github.com/HunterHillegas/MapKitUSA – Hunter

Các vấn đề liên quan