2010-01-26 86 views
1

我想在MKMapView的頂部繪製基於圖塊的覆蓋圖,但沒有明顯的方法來完成此操作。MKMapView基於圖塊的覆蓋圖

這似乎很棘手,因爲您可以使用MKMapView縮放到任何級別(與谷歌地圖不同)。

有沒有人試圖這樣做?

回答

0

我正在做一個遊戲,我需要在地圖上疊加物體,讓它們滾動並縮放地圖。

使用註釋視圖我已經能夠解決第一個問題,並部分解決第二個問題。註釋會自動隨地圖一起移動。爲了縮放它們,我使用mapView:regionDidChangeAnimated:委託方法在縮放事件後調整我的註釋大小。問題在於縮放手勢完成後,註釋纔會重新縮放。

我能想到的不是提交一個bug與蘋果公司要求他們提供地圖疊加的API其他兩種方法:

  1. 放了(主要是不可見的)欣賞到的MKMapView的攔截變焦頂部並滾動事件,處理它們,並將它們傳遞給地圖視圖。

  2. 定製開放源代碼RouteMe library來自開放街道地圖或​​(前者速度慢,後者花錢)。但它是完全開源的,所以你應該能夠覆蓋你心中的內容。你也可以運行你自己的瓷磚服務器,在服務器上做瓷磚覆蓋。

+0

我很欣賞答案!不幸的是,雖然這些都是創造性的黑客,但它們不是真正的解決方案感謝您的幫助,雖然... – 2010-02-02 22:21:24

+0

如果您處理的地理位置有限,route-me支持本地磁貼存儲。您可以使用MapNik生成具有OpenStreetMap數據的圖塊(加上您自己的圖形)並將其與您的應用程序一起發貨。這將是一個「真正的解決方案」,但可能比您的項目更合理。 – 2010-02-03 02:46:34

2

因爲這個問題仍然存在,讀者應該查看WWDC2010中的HazardMap和TileMap演示代碼。