Force MapKit use cached map tiles only/disable network programmatically

亡梦爱人 提交于 2019-11-30 08:50:11

iPhone SDK apps do not have access to the network adapter settings, and I know of nothing in the MapKit API that gives you control over its Internet usage. Your best option in this case is probably to present an alert suggesting that the user enable Airplane Mode or turn off data roaming.

use openstreetmap think the commercial side of it Cloud-made allows offline maps

http://developers.cloudmade.com/projects/show/iphone-sdk

Libraries that help iPhone developers use OSM maps route-me is an open-source library used in a number of iPhone applications to display OSM maps. The CloudMade iPhone Maps Library is an open-source library that provides high-level access to CloudMade's OSM-based map tiles with different sizes and different styles. John McKerrell has ported the routing algorithm from gosmore to run on the iPhone and has successfully generated basic routes. More complicated routes crash the iPhone at the moment

There are some ways. One is to use your own tile overlay and implement the caching algorithm either in URLForTilePath: or in loadTileAtPath:result:

It works very well with open domain and some private ones. Does not cache the standard Apple Maps.

Another way that will be able to cache everything is subclass NSURLProtocol. There are some tutorials and probably you may detect when is a map image and act accordingly

the google map app does the cache feature ... MapKit seem no , I think Apple will add this feature in next version SDK ...

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!