2016-12-23 1 views
0

マップ上にMKCircleオーバーレイを作成しようとしていますが、ユーザーがズームしても画面上の円のサイズが一定に保たれるようにしたいと思います。MapKit MKCircleズームの半径を変更する

ユーザーがズームすると、半径が小さくなり、ユーザーがズームすると半径が大きくなります。

私はSwift 3で働いています。これを達成するために使用すべき特定のMapKitメソッドがありますか?注釈として円のイメージを使用するオプションがあることはわかっていますが、円の色を動的に変更したいと思います。あなたは

答えて

0

ズームイン、ズームアウトなど言い換えれば

は、私は、ユーザーがズームインするように、ユーザがズームアウトして、半径が、小さくなるとMKCircleがMKPolylineはスケールと同じようにスケールします半径が大きくなる

アンMKCircleは、おそらくオーバーレイ(MKOverlay)の一部です。オーバレイは、地球そのものに図面をシミュレートすることによって動作します。したがって、ズームレベルに応じて描画が変わります。

そうしたくない場合は、MKOverlayを使用しないでください。たとえば、円を表示して地図ビューの前に置く通常のビューを作成することができます。代わりにアノテーションを使用することもできます(MKAnnotation)。注釈の画像は、地図が拡大されるにつれてサイズが変わらない。

+0

ああ、私の質問は混乱していました。私はズームの円のサイズのサイズを変更したくないと思う。基本的に、ユーザーがズームすると、円のサイズを画面に対して変更しないようにします。私はあなたの提案を追加のビューで試してみます –

+0

しかし、ユーザーが地図をパ​​ンするとこのビューは変わりませんか?私は円がユーザーのパンがあるようにマップ上の特定のポイント(座標)にとどまることを望みます –

+1

もちろん、それは問題です。通常のビューを使用した場合は、ユーザーのパンを追跡してビューを移動する必要があります。だから、私は別のアプローチとして注釈を提案したのです。しかし、私の答えの主な目的は、なぜオーバーレイがこれを行う方法ではないかを提案することでした。なぜなら、あなたが記述しているのはオーバレイのものではないからです。 – matt

関連する問題