問題タブ [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 投票する
2 に答える
520 参照

iphone - UIMapViewで線を引くにはどうすればよいですか?2つの異なる緯度と経度がありますか?

私は2つの緯度と経度を持っています。1つは現在の緯度、経度、2つ目は両方を使用してWebサービスから取得したものです。この2つの間にパスを描画したいので、どうすればよいですか。わかりません。助けてください。よろしくお願いします。 ..。。

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

iphone - MKAnnotation コールアウトの自動表示

なぜこれが機能しないのですか?

ありがとう、Z@K!

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

iphone - iphone mkannotationview strange problem - possibly being reused

サブクラス化された mkannotationview に奇妙な問題が見つかりました。

最初の 5 つのマーカーを追加すると、それらはすべて完全に機能します。mkannotationview サブクラスでは、5 回表示されるメッセージを NSLog します。ただし、すべてのマーカーを削除して再描画すると、すべて同じ方法を使用して、NSLog が 1 回しか表示されません。

マップが既存の注釈ビューを再利用しているようなものですか? 毎回新しいものを強制的に使用する方法はありますか?

[コードで更新]

したがって、再利用できない理由 (これが問題である場合とそうでない場合があります) は、ラベル付きの一意のマーカーを作成しているためです。マーカーのラベルには、個々のマーカーへの参照が含まれています (製品 ID のように考えてください)。

だから... ProductPlot.hで

および ProductPlot.m

次に、ProductPlotView.h としてサブクラス化された注釈ビューがあります。

および ProductPlotView.m で

したがって、私のコードでは、次を使用してポイントをプロットします

注釈を処理するコードもあります。

したがって...上記はproductIDを取得し、マップマーカーであるラベルに配置します。これは FIRST プロット インスタンスで完全に機能するようですが、( を使用して[mapView removeAnnotations:mapView.annotations];) マーカーを削除してからこの関数を再度呼び出すと、ポイントは正常に描画されますが、製品 ID は正しくありません。それらをランダムに描画するように見えます。

注: 上記のコードはいくつかの部分が削除されているため、タイプミスがある可能性があります

情報をありがとう。

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

iphone - MKAnnotationView drawRect: 呼び出されない

MKAnnotation から派生した ContainerAnnotation というカスタム アノテーションと、MKAnnotationView から派生したカスタム アノテーション ビューを、DrawRect: メソッドを使って ContainerAnnotationView という名前で実装しました。何らかの理由で drawRect: メソッドが呼び出されず、その理由がわかりません。

注釈ビューのソース コードは次のとおりです。

ContainerAnnotationView.h:

ContainerAnnotationView.m:

私のView Controllerから:

正常に機能する画像でバニラ MKAnnotation を使用する他の注釈があります。drawRect を実装していない別のカスタム注釈ビューもあります。これは正常に動作します。ここで何が間違っているのか分かりますか?

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

iphone - Annotationを削除してから再度追加した後、Annotationを選択します

ねえ、私はiPhone用のmapKitについていくぶん密な質問を受けました。

私はMapKitフレームワークを使用しており、基本的にピンをクリックしてリロードし、再度追加した後にcallOutを表示しようとしています。

これは私が仕事に取り掛かろうとしているコードです。

いくつかの所見:removeAnnotationsとaddAnnotationの行をコメントアウトすると、無限ループに入ります。これは、SelectAnnotation:pinを選択すると、コールバック(このメソッド)が呼び出されるためです...それ以外の場合は呼び出されませんが、 ?なぜそうではないのですか

呼ばれていますか?

私はすでにあまりにも多くのことを読み、私のコードの説明と修正がリンクよりもはるかに役立つことを理解しようとして、何時間も頭を悩ませてきました。

前もって感謝します。〜Fydo

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

iphone - MKAnnotationViewで「選択された状態」の画像を上書きするにはどうすればよいですか?

マップ上にカスタムピン画像を含む注釈ビューがあります。ピンを長押しすると、カスタム画像が消え、デフォルトの赤いピンに置き換わります。このデフォルトの画像は、選択された(強調表示された)状態で表示されます(少し暗く見えます)。選択した状態の画像がカスタム画像に置き換わらないようにするにはどうすればよいですか?

どうもありがとう。

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

iphone - サブクラスMKAnnotationView

誰かがのメソッドsetDragStateを正常にオーバーライドしたことがありMKAnnotationViewますか?「」でグーグルしようとすると、mkannotationview setDragStateヒット数は3つだけです。それらの1つはstackoverflowに関する私の別の投稿です;)

参照によると、サブクラスMKAnnotationViewをサブクラス化するときは、ドラッグステートを気にする必要があります。しかし、それは正確な方法を述べていません。ドラッグステートを設定するだけでは不十分MKAnnotationViewDragStateDraggingMKAnnotationViewDragStateCancelingようです。mapView:annotationView:didChangeDragState:fromOldState:それを行うと、たとえば、マップビューがデリゲート機能を受け取らないという問題が発生するためです。

スーパークラスでもdragStateを設定してオーバーライドしてみました。ただし、この時点で他のエラーが発生します。たとえば、annotationViewをドラッグして指が画面から外れると、アプリが「キーパスドラッグステートのオブザーバーを削除できません」などでクラッシュします(ただし、私のサブクラスには、知っているオブザーバーはありません)。 。ですから、他にも気をつけるべきことがあるようです。

アップルデベロッパフォーラムのこの投稿https://devforums.apple.com/message/203107#203107アップルの男であるaroonicusは、[MKAnnotationView setDragState:]をオーバーライドする必要があると述べていますが、残念ながら彼はその方法を教えていません。

誰か助けてもらえますか?setDragStateをオーバーライドする方法を知っている人はいますか?setDragStateをオーバーライドするMKAnnotationViewの動作するサブクラスを作成した人はいますか?

さよなら、

ベン

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

iphone - MKAnnotationView 画像プロパティ

プロパティを介して設定されたカスタム画像を含むMKAnnotationView(draggableプロパティが に設定されています) があります。注釈がマップに追加されると、カスタム イメージが含まれます。ただし、注釈をドラッグすると、画像はデフォルトのピンに戻ります。また、変更のたびにプロパティを上書きしようとしました。ここでも運が悪い。YESimageimagedragState

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

objective-c - タイトル/サブタイトルをリセットした後に吹き出しのサイズを変更する方法

タイトルとサブタイトルを持つ MKAnnotation 名 PushPin を作成しました。後でタイトルを動的に変更できるようにしたい。私は近いので、まったく新しい AnnotationView を作成する必要はありませんが、必要がある場合は、それも問題ないと思います。私の問題は、タイトルのテキストを変更すると、ウィンドウのサイズが変更されず、タイトルの元の大きさによっては一部のテキストが切り取られる可能性があることです。

1) 吹き出しウィンドウのサイズを再度変更するためにトリガーできるイベントはありますか?

2) また、タイトルをリセットする前に、注釈に実際にタイトルがあることを確認しますが、確認した後にキャストするのに問題がありました。誰か助けてもらえますか? 私はまだobjective-cに不慣れで、これはしばらくの間私を台無しにしました。



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

iphone - iOs なぜ、注釈を MKMapKit に移動させるために setCoordinate を実装する必要があるのですか?

MKMapKit を使用してマップ上に移動する注釈を表示する iPad アプリケーション (os 3.2) を作成しています。情報は 3 つの異なるソースから XML 経由で取得され、Annotation クラスでまとめて照合され、マップに表示されます。この情報は 5 秒ごとに送信されます。必要に応じて注釈を移動しながら、これを数か月間正常に機能させました。

次のコードはすべて、コードの近似値であり (私の会社の正確なコードを投稿することはできません)、1 行ずつ入力されているため、コンパイルされません。

私の注釈コードは次のようになります。

それから私の実装では、次のようなものがありました:

これはうまく機能したので、もちろん全体を再設計し、多くの情報を他のクラスにカプセル化することにしました。

したがって、私のコードは次のようになります。

新しい実装:

この新しいコードを実行すると、注釈が元の場所に追加されましたが、まったく移動しませんでした。XML フィードを取得するときに、source1、source2、source3 内の座標を更新しています。

そのため、丸一日デバッグしてさまざまなことを試した後、動作するようになりました。次に、その日の間に追加したすべてのものを削除して、次の最小限の変更を加えて動作させましたが、結果は非常に奇妙です:

インターフェイスは変更されていません。実装では、1 つのメソッドを追加し、さらに 3 つの行を追加しました。

実際には何もしないメソッドを呼び出す必要がある理由を誰でも説明できますか。「nil」は NSLog ステートメントだったので、それが呼び出されていたことがわかります。これはまったく意味がありません。

どんな洞察も大歓迎です。

乾杯、

ブレット