2012-03-20 8 views
6

Nella sezione Displaying Overlays on a Map della Guida alla programmazione della conoscenza della posizione, , c'è un esempio che "mostra una sovrapposizione riempita e accarezzata che copre lo stato del Colorado".Dati overlay iOS (MKPolygon) per tutti gli stati degli Stati Uniti?

// 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]; 

Domanda Esiste una fonte di dati di coordinate per tutti i 50 stati degli USA utilizzando gli stessi dati di latitudine/longitudine prontamente e liberamente disponibili?

risposta

8

Ran una ricerca su Google per noi stato geo contorno coordina e trovarono domanda StackOverflow Geographical boundaries of states/provinces -> Google Maps Polygon, che ha una risposta al collega XML for US state polygons (dati Colorado sotto).

<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> 

ho trovato anche US State and Country border coordinates con un collegamento a NationalAtlas.com, First Level Administrative Boundaries (States), United States, 2005, ma che i dati sembra molto più preciso di quello che mi serve.

Un'altra fonte di dati era The State Border Data Set collegata a un file con "coordinate geografiche dei segmenti di linea che costituiscono i confini di stato" (dati Colorado in basso).

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 , 

Aggiornamento: ho messo una versione raffinata del states.xml, così come il codice Objective-C su un pronti contro termine kjhsoftware/us-state-polygons github.

+2

Usando un po 'di questo, ho creato un progetto di esempio che esegue questo overlay: https://github.com/HunterHillegas/MapKitUSA – Hunter