MapKitには、ユーザーの位置にカメラを配置する専用のボタンがありますか?またはボタンを手動で作成してmapView.showsUserLocation = true
をトグルする必要がありますか?MapKitを使用してボタンをユーザーの位置に合わせる
答えて
をこの方法では、(スウィフト)も実行し、ボタンをカスタマイズできます。
class YourViewController{
...
@IBOutlet weak var mapView:MKMapView
...
override func viewDidLoad() {
super.viewDidLoad()
...
addMapTrackingButton()
}
func addMapTrackingButton(){
let image = UIImage(named: "trackme") as UIImage?
let button = UIButton(type: UIButtonType.System) as UIButton
button.frame = CGRectMake(5, 5, 35, 35)
button.setImage(image, forState: .Normal)
button.backgroundColor = .clearColor()
button.addTarget(self, action: #selector(YourViewController.centerMapOnUserButtonClicked), forControlEvents:.TouchUpInside)
self.mapView.addSubview(button)
}
func centerMapOnUserButtonClicked() {
self.mapView.setUserTrackingMode(MKUserTrackingMode.Follow, animated: true)
}
...
}
スウィフト4:
func addMapTrackingButton(){
let image = UIImage(named: "trackme") as UIImage?
let button = UIButton(type: UIButtonType.custom) as UIButton
button.frame = CGRect(origin: CGPoint(x:5, y: 25), size: CGSize(width: 35, height: 35))
button.setImage(image, for: .normal)
button.backgroundColor = .clear
button.addTarget(self, action: #selector(ViewController.centerMapOnUserButtonClicked), for:.touchUpInside)
mapView.addSubview(button)
}
@objc func centerMapOnUserButtonClicked() {
mapView.setUserTrackingMode(MKUserTrackingMode.follow, animated: true)
}
コードの1行NICE! – Jeff
ユーザーの位置座標を取得し、領域を設定する必要があります。
- (IBAction)centerMapOnUserButtonClicked:(id)sender {
MKCoordinateSpan span = MKCoordinateSpanMake(0.0001f, 0.0001f);
CLLocationCoordinate2D coordinate = self.mapView.userLocation.coordinate;
MKCoordinateRegion region = {coordinate, span};
MKCoordinateRegion regionThatFits = [self.mapView regionThatFits:region];
NSLog(@"Fit Region %f %f", regionThatFits.center.latitude, regionThatFits.center.longitude);
[self.mapView setRegion:regionThatFits animated:YES];
}
解決方法2:
MKUserTrackingBarButtonItem *trackButton = [[MKUserTrackingBarButtonItem alloc] initWithMapView:mapView];
[trackButton setTarget:self];
[trackButton setAction:@selector(track:)];
[toolbar setItems:[NSArray arrayWithObjects:trackButton, nil] animated:YES];
スウィフト4:遅刻
let trackButton = MKUserTrackingBarButtonItem.init(mapView: mapView)
trackButton.target = self
trackButton.action = #selector(ViewController.track)
toolbar.items?.append(trackButton)
それは迅速ではないが、大丈夫です。では、自分のボタンを手動で作成しなければならないということは何ですか?このようなものはありません: 'mapView.enableButtonThatDoesCenterViewOverUser = true'。 – Xernox
MKMapCameraは、マップ上のポイントを観測している視点として機能します。 –
あなたはどういうことを言っていますか?私は手動でユーザーを見渡す方法を尋ねていません - 私はそれを行う方法を知っています。 MapKitはビルドインボタンを提供していますか?MapKitは北向きの視線方向を変更するためのコンパスをほとんど提供していません。 – Xernox
は、AHAHが、私はちょうど機能が見つかりました:あなた一度そう
CLLocationManager.requestLocation()
正しくあなたのlocationManagerを設定します(with requestAlwaysAuth orization)あなた自身の場所にマップをセンタリングしたいところはどこでもあなたがそれを呼び出すことができます:)
- 1. ボタン中心の位置合わせ -
- 2. 現在の位置に基づいてMapKitを使用してMapKitを使用して描画するルート
- 3. PathListBoxを使用したテキストの位置合わせ
- 4. 位置を合わせる:relative divs(CSS)
- 5. テーブルローの3つのボタンの位置合わせ
- 6. SWTボタンのテキストと画像の位置合わせ?
- 7. iPhone - すべてのユーザーのMapKitポイントの位置
- 8. OpenGL:glPrint()の位置を画面に合わせて設定する
- 9. pandocの画像の位置合わせ
- 10. すべてのラベル、ピクチャボックス、パネル、ボタンの位置を変更して画面に合わせる
- 11. アンドロイドフレームの画像位置合わせ
- 12. グリッドビューの幅と位置合わせ
- 13. 固定位置が私の位置合わせを乱しているのはなぜですか?
- 14. Objective-Cを使用してボタンの数に合わせて変更するUIScrollViewに動的にボタンを追加
- 15. divの高さに合わせてトップ位置を調整します。
- 16. Androidのステータスバーにあるアイコンの位置合わせ
- 17. アンドロイドの変更カーソルの位置をカーソルの位置に合わせて行を増やすか減らす
- 18. Androidでテキストの位置合わせを編集する
- 19. CGContextShowTextAtPointを使用して、左と右のテキストの位置合わせを行う方法は?
- 20. CSSヘルプ - IEの位置合わせがずれています
- 21. MigraDocのPDFSharp - 動的データテーブルを使用して生成されたN、 - テキストの位置合わせは、
- 22. domの画像を含むcontentEditableのキャレット位置合わせ
- 23. ボタンの位置が変更された場合、ZClip SWFはボタンの位置に揃えられません
- 24. UIActivityIndicatorViewの位置合わせが正しくない
- 25. jQueryを使用してテキストの上にカーソルを合わせる
- 26. パノラマ写真をマウスの位置に合わせて移動(翻訳+トランジション)
- 27. ボタンをテーブルに合わせる
- 28. ボトムにボタンを合わせる
- 29. Qt:スタイルシートを使用してQDockWidgetボタンの位置を変更する
- 30. 揃え垂直および水平位置を合わせ
可能な複製:http://stackoverflow.com/a/6170026/3051458 –
@Ramesh_Tあなたは両方の質問を読んでいますか?私はちょうどユーザーの上にカメラを置くことを望んでいない、私は、Google/Apple Mapsのように、それを行うボタンが欲しい – Xernox