問題タブ [mkmapviewdelegate]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ios - MKMapView のデリゲートが呼び出されない
次のように定義されたものを管理するUIViewController
クラスがあります。MKMapView
このView Controllerの実装には、次のものがあります。
パブリックcenterMapInLoc:
メソッドであるため、別のビュー コントローラーから呼び出します。アノテーションはそのようなメソッド内で作成されますがviewForAnnotation:
、アノテーションが追加されたときにデリゲート メソッドは呼び出されません。loadView
デリゲートがメソッドに設定されているため、理由がわかりません。
前もって感謝します
ios - 顧客の注釈ビューが必要 ビュー表示の呼び出し時にダブルタップして詳細注釈ビューを開く
**ここではまず、画像、ボタン、その他の情報を含むカスタム注釈ビューを作成します。画像マーカーとしてマップに配置します。ここでは、吹き出しビューも非表示にします。
2 番目の条件には、マップ マーカー イメージと表示吹き出しビューのみが含まれます。現在、吹き出しビューが開いていて、カスタム ビューをクリックすると問題が発生します。ダブルタップが必要です。
ボタン タップ イベントを取得した後、Map の選択解除メソッドを呼び出す最初のクリックを確認しました。
別の吹き出しビューまたは別のカスタム イメージ マーカー ビューのみをクリックすると、シングル タップで機能します。このシナリオでは、シングル タップで両方のケースを処理するにはどうすればよいですか?**
ios - Swift: didDeselectAnnotationView 呼び出しの後、MKMapView 注釈が左上隅に表示されます
私はMKMapView
iOS アプリで を描画しています。このマップにはいくつかの注釈があり、それらを表すカスタム画像があります。特定の注釈が選択されると、画像がわずかに変化します (輝きがあります)。
これを行うには、mapView(mapView: MKMapView!, didSelectAnnotationView view: MKAnnotationView!)
デリゲート メソッドを使用してイメージを変更します (変更することによりview.annotation.image
)。これはうまくいくようです。
ただし、mapView(mapView: MKMapView!, didDeselectAnnotationView view: MKAnnotationView!)
メソッドを使用して画像を選択解除した後に元に戻すと、マップの左上隅に注釈が再描画されます。ユーザーがマップを操作すると、すぐに適切な場所にマップが再描画されるため、メソッド呼び出しの後、クリックまたは何かが行われるまでマップが更新されないようです。
これは実際に注釈の画像を変更する正しい方法ですか (現在の を上書きすることによってview.annotation.image
)。もしそうなら、マップを更新する方法はありますか?
編集: また、新しい注釈を選択するたびに、マップの中心が約 100 ピクセル下にドラッグされることに気付きました。上記の 2 つの方法のいずれかを呼び出した後に行う必要があることはありますか?
ios - iOS 7 以降では、MKMapView は mapView:didUpdateUserLocation: forever を呼び出します
私MapView
のボタンタップでは、次のアクションを実行します。
を確認しuserLocation pin
、次のメソッドを呼び出してマップの位置を変更します。
私の問題は、マップがユーザーの位置を永遠に (ループで) 更新していることです。ユーザーの位置情報をアクティブ化した後、マップを使用することはできません。ユーザーの位置の更新を停止し、ユーザーがマップを使用できるようにするには何が必要ですか?
メソッドmapView:didUpdateUserLocation:
は何度も呼び出されます。をMKMapViewDelegate
インターフェイスに配置し、self.mapView.delegate
を self に設定し、mapViewWillStartLocatingUser:
andを呼び出しmapViewDidStopLocatingUser:
のみで設定します。Dlog(@"")
はmapViewDidStopLocatingUser:
呼び出されません。
swift - Swift 2 MKMapViewDelegate rendererForOverlay オプション性
Swift 1.2では、これがあります:
Swift 2 は の定義を ではなくをmapView:rendererForOverlay
返すように変更しました。ただし、ドキュメント (Xcode 7) にはまだ次のように記載されています。MKOverlayRenderer
MKOverlayRenderer!
nil
MKOverlayRenderer
NilLiteralConvertible
戻り値
指定されたオーバーレイを地図上に表示するときに使用するレンダラー。nil を返すと、指定されたオーバーレイ オブジェクトのコンテンツは描画されません。
認識できないオーバーレイが渡された場合、何を返す必要がありますか?