5

コンパスアプリでマップビューを使用してその場所を表示すると、電話の方向を示す小さな円錐が表示されます。しかし、私はMKMapViewを使用してそれを再現することができませんでしたユーザーの場所を示しています。この視覚機能を開発者が利用できるのか、それとも自分で実装する必要がありますか?iOS iPhoneでMKMapViewのコンパスアプリのようにユーザーの方向と向きを表示します

iPhone compass map app

ありがとうございます!ここで

+0

もう1つのポストには、きちんとした解決策があります:http://stackoverflow.com/questions/9876157/is -the-current-location-compass-heading-button-in-the-ios-sdk –

答えて

1

私は似たような状況に直面しました。青いアイコンの方向を表示するライブラリや設定がないと思います(少なくとも私の検索は成功しませんでした)。

しかし、CLHeading(TommyGの回答のリファレンス)を使用して独自の方向指示器を作成することは困難ではありません。

私がしたことは、地図のように青色のアイコンを表示し、方向を示すために小さな矢印を別のビューに表示することでした。 https://github.com/myell0w/MTLocation/tree/master/Resources/MTLocation.bundle

+0

あなたが議論したもののためのいくつかの実例を提供できますか? –

+0

コードサンプルは上記のuser1567676で提供されている投稿リンクから入手できます。見てください。あなたがカスタム方向指示器を探しているなら、それも可能です。 – zolio

1

MTLocationはあなたが後にあるコーンを含む画像の偉大なバンドルされています。 これはUserTrackingModeと呼ばれます。あなたがいるなら

- MKUserTrackingModeNone (free scrolling map) 
- MKUserTrackingModeFollow (center the user's location) 
- MKUserTrackingModeFollowWithHeading (center user's location and track user's heading (direction)). 

:UserTrackingModeの約3タイプがあり、また、

[mapView setUserTrackingMode:MKUserTrackingModeFollowWithHeading animated:YES]; 

:あなたは、マップは、「コンパス様」になるようにするコードは1行だけを書き留めています2トラッキング(無料ではない)モードの1つで、地図をスクロールすると、モードは自動的にフリーモードに変わります。

4

これはMapKitとケーキのような非常に簡単です:これは何らかの方法で助け

希望は

-1

キャッシュディレクトリに保存された「imageTexture.jpg」という一時的なイメージがあるとします。お気に入りの「FavoritePhoto.jpg」がドキュメントディレクトリに保存されます。 ドキュメントディレクトリにあるお気に入りのものを上書きするには、次のようにします。私はここでは、キャッシュ・ディレクトリに

を取得するために、NSFileManagerのカテゴリを使用しています

NSError *errorDesc; 

    NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); 
    NSString *documentsDirectory = [paths objectAtIndex:0]; 
    NSString *statesDescriptionPath = [documentsDirectory stringByAppendingPathComponent:@"FavoritePhoto.jpg"]; 

    NSFileManager *fileManager = [NSFileManager defaultManager]; 

    NSString *cacheDirectory = [NSFileManager getCacheDirectory]; 
    NSString *temporaryPath = [cacheDirectory stringByAppendingPathComponent:@"imageTexture.jpg"]; 

    NSURL *originalURL = [NSURL fileURLWithPath:statesDescriptionPath]; 
    [fileManager replaceItemAtURL:originalURL withItemAtURL:[NSURL fileURLWithPath:temporaryPath] backupItemName:nil options:NSFileManagerItemReplacementUsingNewMetadataOnly resultingItemURL:&originalURL error:&errorDesc]; 

    if (errorDesc) 
    { 
     NSLog(@"there was an error overwriting the favorite photo: %@", errorDesc.description); 
    } 

ここNSFileManager + Powertools.h

#import <Foundation/Foundation.h> 
@interface NSFileManager (Powertools) 
+ (NSString *)getCacheDirectory; 
@end 

のためのコードは、NSFileManager + PowerToolsのためのコードを見ることができます。 m

#import "NSFileManager+Powertools.h" 

@implementation NSFileManager (Powertools) 

+ (NSString *)getCacheDirectory 
{ 
    NSString *path = nil; 
     NSArray *paths = NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES); 
     if ([paths count]) 
     { 
      NSString *bundleName = 
      [[[NSBundle mainBundle] infoDictionary] objectForKey:@"CFBundleIdentifier"]; 
      path = [[paths objectAtIndex:0] stringByAppendingPathComponent:bundleName]; 
     } 
     return path; 
} 
@end 
関連する問題