問題タブ [mkannotationview]

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.

0 投票する
9 に答える
62470 参照

ios - MKAnnotationView の吹き出しをカスタマイズするには?

私は現在 mapkit で作業しており、立ち往生しています。

使用しているカスタム注釈ビューがあり、イメージ プロパティを使用して、独自のアイコンでマップ上のポイントを表示したいと考えています。私はこれでうまくいきました。しかし、私がやりたいことは、デフォルトの吹き出しビュー (注釈アイコンに触れたときにタイトル/サブタイトルとともに表示されるバブル) をオーバーライドすることです。吹き出し自体を制御できるようにしたい: マップキットは、左右の補助的な吹き出しビューへのアクセスのみを提供しますが、吹き出しの吹き出しのカスタム ビューを提供したり、サイズをゼロにしたり、その他のものを提供したりする方法はありません。

私の考えは、自分の selectAnnotation/deselectAnnotation をオーバーライドMKMapViewDelegateし、カスタム注釈ビューを呼び出して独自のカスタム ビューを描画することでした。これは機能しますが、カスタム アノテーション ビュー クラスでcanShowCalloutが に設定されている場合のみです。YESこれを設定している場合、これらのメソッドは呼び出されませんNO(これが必要なので、デフォルトの吹き出しバブルは描画されません)。そのため、ユーザーがマップ上のポイントに触れた (選択した) か、注釈ビューの一部ではないポイントに触れた (削除した) かを知る方法はありません。

別の道をたどって、マップ内のすべてのタッチイベントを自分で処理しようとしましたが、これがうまくいかないようです。マップ ビューでタッチ イベントをキャッチすることに関連する他の投稿を読みましたが、それらは私が望んでいるものではありません。描画する前に吹き出しの吹き出しを削除するためにマップ ビューを掘り下げる方法はありますか? 私は途方に暮れています。

助言がありますか?明らかな何かが欠けていますか?

0 投票する
1 に答える
4724 参照

iphone - MKMapView->現在地のボタンを表示

私はMKMapViewこれらのソースコード行を実装しています(私の場所は青い箇条書きで、他の場所は紫色のピンです):

紫色のピンには詳細開示ボタンがありますが、私の注釈にはありません。どうすればそのようなボタンを設定できますか?

そして、それは私がボタンを押すことで何かをすることができる方法です:

別の処理が必要なため、自分の場所と他のすべての場所をどのように区別できますか。別の代理人がいますか、それともある種のif句を作成する必要がありますか?

0 投票する
1 に答える
4714 参照

objective-c - MKAnnotationView の座標を取得するにはどうすればよいですか?

私はこのような方法を持っています:

これを使用して、座標を取得できますか?

0 投票する
3 に答える
7357 参照

objective-c - MKMapView-より多くの結果をロードしている間、viewForAnnotationは呼び出されません

編集して追加*これに対する解決策はまだ見つかりません。誰か助けてもらえますか?私の問題はこれに似ていますが、投稿された回答は私には機能しません-ピンが移動した後のMKMapViewの更新*編集の終了

検索が有効なマップビューがあります。ユーザーが検索を押すと、カスタム注釈がマップビューに追加されます。検索では、「さらに読み込む」リンクを含む20件の結果が返されます。さらに読み込みを押すと、マップビューにさらに注釈を追加する必要があります。

問題は、注釈がマップビューに追加されても、マップに表示されないことです。ズームインまたはズームアウトしてマップ領域を変更すると、ピンが表示されます。

「loadmore」を押してもviewForAnnotations:が呼び出されないことがわかりました。これをトリガーする方法がわかりません。誰でも?

0 投票する
1 に答える
205 参照

mkannotationview - calloutAccestoryControlTappedメソッドは使用されません

-(void)mapView:(MKMapView *)mapView annotationView:(MKAnnotationView *)view calloutAccesoryControlTapped:(UIControl *)controlメソッドの使用に問題があります。私はそれをテストするために多くの方法を試しましたが、それは表示されません。誰もが間違いを見つけることができますか

0 投票する
1 に答える
1673 参照

iphone - 開いたときのMapViewアノテーションコールアウトアクション

いくつかの注釈付きのマップビューがあります。すべてのアノテーションには、UIViewControllerクラスであるleftCalloutAccessoryViewがあります。これは、すべての注釈でサーバーからデータをロードし、そのデータの結果を注釈サブタイトルに追加するためです。これはすべて完全に機能しますが、アプリの起動時にすべてのデータをロードしたくないのですが、コールアウトバブルが開いたときにのみリモート呼び出しを実行したいのです。

誰かが私がこれを行う方法を知っていますか?viewWillload、viewDidLoadなど。この場合は機能しません。例もありますか?

0 投票する
2 に答える
390 参照

iphone - MKAnnotationViews コールアウトを自動サイズ変更に設定する方法はありますか?

私が抱えている問題は、リバース ジオコーディングを行っているため、コールアウトで完全な住所が途切れてしまうことです。autoresizingsubviews を YES に設定する方法はありますか?

ありがとう

ニック

0 投票する
1 に答える
1004 参照

mapkit - removeAnnotation で MKMapView がクラッシュする

MKMapView の注釈を削除しようとしてenter code hereいますが、次の行でクラッシュしています。

p は MKAnnotation プロトコルを実装するオブジェクトであり、そのマップには既に注釈があります。

これは、クラッシュしたときに表示されるメッセージです。

objc[46534]: FREED(id): message release sent to freeed object=0x4319640 プログラムはシグナルを受信しました: “EXC_BAD_INSTRUCTION”. (gdb)

バックトレースは次のようになります。

何か案は?

0 投票する
1 に答える
1256 参照

iphone - 注釈サブタイトルでテキストをワードラップする方法

改行文字と改行文字を字幕文字列に挿入しようとしましたが、改行ではなく「スペース」になってしまいました。サブタイトルは単に NSString であるため、コンテナーを確認する必要があります。これは、独自の注釈ビューをロールする必要があることを意味します。

NSString は f.ex になります。「90510\nカリフォルニア州ハリウッド」ですが、代わりに改行を「エンコード」するか、NSString のサブクラスを使用して字幕に送信する必要がありますか?

MKAnnotation(view) は、バブルのサイズを変更して「...」などを追加することで長すぎるテキストを処理するため、確かに、字幕を「ラップ可能」にできるはずです。

後で追加するテキストの段落には、適切な単語の折り返し (およびハード改行ではない) が必要ですが、単語の折り返しをサポートするものがわかっている場合は、別のアラートまたはモーダル ボックス タイプとしてそれを行うことができます。それらを提案していただければ幸いです。

UILabel をサブビューとして追加するか、字幕の表示に使用される UILabel(?) に何らかの方法でアクセスし、その numberOfLines を 0 に設定することで何かが可能になる可能性がありますが、後者を行う方法がわかりません.

0 投票する
4 に答える
5084 参照

iphone - MKAnnotation の場所を新しい座標で更新するにはどうすればよいですか?

注釈の場所を異なる座標で更新しようとすると問題が発生します。別の注釈を作成せずに場所のプロパティを変更する方法はありますか? 以下のコードを試してみましたが、うまくいきませんでした。取得しようとしている注釈は、その場所を更新していません。助けてください!

皆さん、ありがとうございました!