2012-10-06 45 views
1

我想通過使用MKMapItem在iOS 6上顯示地圖,但我還想使用Google地圖作爲舊版iOS版本。iOS 6上的MKMapKit和舊設備上的Google地圖

當我測試在iOS 5.1解決方案,我有這樣的錯誤

dyld: Symbol not found: _MKLaunchOptionsDirectionsModeDriving 

這是我的代碼:

if Utils.older_than_ios6? 
    url = "http://maps.google.com/maps?saddr=#{@party.place.location[1]},#{@party.place.location[0]}&daddr=#{@party.place.location[1]},#{@party.place.location[0]}" 
    App::open_url(url) 
else 
    address_dictionnary = ({kABPersonAddressStreetKey: @party.place.street, kABPersonAddressCityKey: @party.place.city,kABPersonAddressZIPKey: @party.place.postal_code}) 
    place = MKPlacemark.alloc.initWithCoordinate(@coords, addressDictionary: address_dictionnary) 
    mapItem = MKMapItem.alloc.initWithPlacemark(place) 
    mapItem.name = "#{@party.name}" 
    options = ({ 
     MKLaunchOptionsDirectionsModeKey: MKLaunchOptionsDirectionsModeDriving 
    }) 
    mapItem.openInMapsWithLaunchOptions(options) 
end 

回答

0

This link表明MKLaunchOptionsDirectionsModeDriving僅適用於iOS6的+。

可以肯定的是,您是否將MapKit添加到Rakefile中的框架列表中?

+0

如果他沒有添加MapKit,他會得到有關MKPlacemark和MKMapItem的錯誤。 –