Desidero personalizzare le linee disegnate su MKMapView per mostrare un percorso in modo che le linee abbiano un colore del bordo e un colore di riempimento. Simile a questo, dove si ha un bordo nero ed è riempito con un altro colore:come personalizzare MKPolyLineView per disegnare linee di stile diverse
Attualmente sto appena tornando MKPolyLineView oggetti da mapView:viewForOverlay:
che funziona bene per le linee semplici. I documenti dicono che MKPolyLineView non deve essere sottoclasse, quindi dovrei sottoclasse MKOverlayView e implementare il mio drawMapRect? O dovrei sottoclasse MKOverlayPathView? O creare un sostituto per MKPolylineView?
EDIT - Quello che sto chiedendo è: dove è il posto dove inserire il proprio codice di disegno Quartz per disegnare le proprie annotazioni/sovrapposizioni? Attualmente ho creato una sottoclasse di MKOverlayView e implementato il mio drawMapRect: zoomScale: inContext: È piuttosto facile disegnare la sovrapposizione in questo modo ma è quella la soluzione migliore?
bella idea, ma il calcolo dei limiti del poligono da un insieme arbitrario di coordinate di percorso è piuttosto complesso – progrmr
un approccio di base potrebbe essere quello di aggiungere 0,000001 alla latitudine per la parte superiore del corridoio, quindi -0,000001 per la parte inferiore, e quindi costruire un corridoio con un poligono composto da superiore e inferiore parti ... solo un'idea ... – yonel
Ciò funzionerebbe solo se il percorso si svolgesse in direzione est/ovest. Questi possono essere eseguiti in qualsiasi direzione, quindi il poligono dovrebbe essere basato sull'intestazione di ciascun segmento di linea. La parte dovrebbe essere ad angolo retto rispetto alla rotta e calcolare l'intestazione dalla coppia lat/lon usando la [Spherical Law of Cosines] (http://stackoverflow.com/questions/6924742/valid-way-to-to calculate-angle-between-2-cllocations/7352235 # 7352235) è un'operazione costosa. – progrmr