2010-12-05 125 views
0

目前我在開發一些特別的東西時遇到了Objective C的問題。根據用戶的位置在MKMapView上顯示註釋

所以 - 在MKMapView初始化並顯示用戶位置後,我想實現一種方法來顯示用戶位置旁邊的註釋。我已將所有必需的點存儲在SQLite數據庫中的特殊表中。我有兩個字段 - 即lonlat - 我認爲這很明顯是什麼意思。

有沒有人有一個想法如何顯示那些在屏幕上可見的註釋,以儘可能保持高性能。用戶滾動地圖後 - 它應該再次調用方法來查找數據庫閹也有需要加以顯示的其他點......

非常感謝您在您的幫助,

親切的問候,

多米尼克

+0

我能夠收到我需要的東西。謝謝`nevan`和`deanWombourne`的幫助! – thedom 2010-12-06 08:49:37

回答

1

你將需要做一些事情。

1)讓您的地圖的中心 - 用你的MKMapView

2)的centerCoordinate財產提出您的數據庫中的所有項目在一定距離內從地圖的中心。

3)顯示他們

這是(2)這是棘手的一個 - 你需要將返回所有項目接近你有緯度經度的方法。

This link有一個方便的實現如何做到這一點:)

希望有所幫助。

+0

感謝您的鏈接!我認爲我的解決方案將基於該:)。當我清楚如何解決所有問題時會再次發佈。 – thedom 2010-12-05 13:58:09

1

幾個要點:

如果您使用iOS4的,的MapView行爲已更改,以便它自動創建僅其在可見視圖中的註釋可以節省內存。其次,就像你可以用數千個單元格創建tableview一樣,仍然可以順利滾動,離線註釋不會影響性能。你應該保持你的註釋非常小,以免消耗太多內存。註釋視圖是佔用內存的視圖。

用戶縮小時會出現問題,同時可以看到太多的註釋視圖。放大時,您不必過分擔心屏幕外註釋。

+0

感謝您的回答!是的,我正在使用iOS 4 - 所以這是迄今爲止的優勢:))。但我需要一種方法,例如顯示用戶位置的最近四個點,並根據該區域重新定位所有內容。所以我必須做一些數學運算,我猜... – thedom 2010-12-05 13:57:19

相關問題