2014-01-07 30 views
1

我正在使用Web服務來檢索用戶標籤和註釋詳細信息。視圖加載時會調用Web服務。信息被檢索後,我現在有詳細信息,並準備與他們更新地圖。我想用新的標題和自定義引腳類型更新用戶。MKMapView - 從Web服務返回的信息呈現用戶

與此同時,由於服務是異步的,地圖已經呈現,所以用戶已經用藍色的脈衝點表示。換句話說,在地圖渲染時,Web服務尚未返回,因此新信息不可用。

的問題:

  • 防止用戶從最初的渲染
  • 改變時,接收到的信息

我知道有沒有一種方式來獲得用戶的標題和針式該地圖按需刷新,而是刪除並添加註釋。但它不會讓我這樣做,MKUserLocation。所以額外的問題:

  • 如果沒有註釋,只是用戶?地圖如何更新?

我已閱讀並且此問題似乎沒有任何答案。當然,如果細節已經在應用程序中硬編碼,沒有問題,但事實並非如此。

+0

我沒有非常使用MKMap類,所以我有一個更通用的想法:在Web請求完成後,如何建立另一個離線地圖視圖,然後與可視對象交換?我猜它會快速生成,因爲圖像可能被緩存。 – danh

+0

有趣的,也許如果我最初隱藏地圖,然後在Web服務加載後顯示它。現在嘗試。 - 不,仍然嘗試在Web服務加載之前呈現。 – Buddy

+0

第二步是讓它啓用並在更換前更新屏幕外的位置/縮放。 – danh

回答

1

您可以通過viewDidLoad或IB中的setShowUserLocation:NO將其禁用,然後當Web服務返回A)設置爲YES或B)將該用戶添加爲常規註釋。會推薦B,那麼你不需要在回調中編寫額外的用戶處理代碼。一旦你去定製別針,無論如何你會失去藍色的脈衝環,所以不妨讓自己更容易。