2012-05-04 32 views
1

我正在製作iOS應用程序,我希望用戶在地圖上定期標記位置。在iOS中標記位置的默認方法是在地圖的中心或用戶觸摸位置(使用手勢識別器)放置一個別針。在地圖上標記位置的更好方法

然後要將引腳標記到所需的位置準確地說,用戶拿着引腳並且可以再次放下引腳。如果您已在iOS地圖應用上完成此操作,則您將知道以這種方式難以標記位置準確地。它看起來很酷,但我認爲需要一些試驗和錯誤。

如果我可以幫助它,我想讓這個過程更順暢,更明顯的是我的應用程序。 那麼有沒有其他方法可以讓用戶在地圖上標記位置,而不需要執行默認的引腳拖放?任何建議歡迎:-)

回答

2

只是一個想法...而不是移動銷,你可以用手指移動地圖,並保持銷總是在mapView的中間(可能標有十字準線或東西)。然後,您可以使用mapView的「center」方法獲取Pin的座標。這樣你就不會用手指遮住針/十字準線。

+0

你是一個好主意。我認爲這就是Yelp如何做的。 – bulldog213

1

我建議您再次查看地圖應用。當您將手指放在掉落的針上時,請注意地圖上針的底部位置。在快速反彈之後,銷實際上落在這個確切的位置。該針也坐在用戶手指上方約20°處。

雖然它不是最明顯的,但在我看來這是非常準確的。足以查詢Geocoder API的地址,或只獲取座標。請記住,GPS的精度最高爲5-10米。放大將允許用戶更加準確。

但是,如果這種解決方案不是您想要的,我會在地圖中心疊加一個點,並確保它不響應觸摸,從而可以在該點下面移動地圖。當觸摸結束時,然後在地圖中間點放一個別針。如果觸摸再次開始,請從地圖上彈出針腳。我不認爲已經在地圖上的別針保持原位,而獨立地圖移動看起來不錯。

+0

ya pin在靜態中間停留,就像在yelp應用程序看起來有點「哈克」。有一個重疊點更合理!謝謝! – bulldog213