2016-03-01 44 views

回答

1

地圖是否真的是一堆不規則形狀的圖像,或只是一個圖像,是無關緊要的。 (後者將更容易。)您可以直接定義一個單獨的UIBezierPath對象來描述每個狀態,然後可以使用UIBezierPath方法containsPoint來確定某個分接點是否包含在相應狀態中。

坦率地說,你可能會考慮你確實需要多少準確度。例如,如果從大陸尺度看美國地圖,你確實不需要非常準確的貝塞爾路徑。通常一個簡單的不規則多邊形形狀可以逼近邊界並且足以用於命中測試。

事實上,你有時故意使用更大的貝塞爾路徑。例如,你可以繪製一條繞過所有夏威夷島嶼的單一路徑,有一些餘地,這樣你就不必在實際的島嶼上點擊右鍵,而只是靠近某個地方。或者,對於羅得島州,您可以點擊文本「羅德島」,以及國家本身。

+0

我會研究UIBezierPath。感謝您的出發點和洞察力。 – Shades