コンパスアプリでマップビューを使用してその場所を表示すると、電話の方向を示す小さな円錐が表示されます。しかし、私はMKMapViewを使用してそれを再現することができませんでしたユーザーの場所を示しています。この視覚機能を開発者が利用できるのか、それとも自分で実装する必要がありますか?iOS iPhoneでMKMapViewのコンパスアプリのようにユーザーの方向と向きを表示します
ありがとうございます!ここで
コンパスアプリでマップビューを使用してその場所を表示すると、電話の方向を示す小さな円錐が表示されます。しかし、私はMKMapViewを使用してそれを再現することができませんでしたユーザーの場所を示しています。この視覚機能を開発者が利用できるのか、それとも自分で実装する必要がありますか?iOS iPhoneでMKMapViewのコンパスアプリのようにユーザーの方向と向きを表示します
ありがとうございます!ここで
私は似たような状況に直面しました。青いアイコンの方向を表示するライブラリや設定がないと思います(少なくとも私の検索は成功しませんでした)。
しかし、CLHeading(TommyGの回答のリファレンス)を使用して独自の方向指示器を作成することは困難ではありません。
私がしたことは、地図のように青色のアイコンを表示し、方向を示すために小さな矢印を別のビューに表示することでした。 https://github.com/myell0w/MTLocation/tree/master/Resources/MTLocation.bundle
あなたが議論したもののためのいくつかの実例を提供できますか? –
コードサンプルは上記のuser1567676で提供されている投稿リンクから入手できます。見てください。あなたがカスタム方向指示器を探しているなら、それも可能です。 – zolio
は、あなたがこの問題のために使用することができ、関連するフレームワークです:
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つで、地図をスクロールすると、モードは自動的にフリーモードに変わります。
これはMapKitとケーキのような非常に簡単です:これは何らかの方法で助け
希望は
キャッシュディレクトリに保存された「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
もう1つのポストには、きちんとした解決策があります:http://stackoverflow.com/questions/9876157/is -the-current-location-compass-heading-button-in-the-ios-sdk –