В настоящее время вы не можете использовать ничего, кроме Google Maps с MapKit.
Дмитрий уже указал на полезные ссылки, которые предоставляют альтернативы, в частности, route-me library , но есть также CloudMade API , который предоставляет другую альтернативу.
Если вы хотите бросить свой собственный, вам может пригодиться класс CATiledLayer .