0

を使用してマップを作成する必要があるアプリに取り組んでいますMKMapViewが、円形ですか?

これについてのアイデア、手がかりも役に立ちます。

スクリーンショットを見ると、私が何を求めているのかがわかります。

円で囲まれた地図をご覧ください。

サークル内の地図を見る

4

2 に答える 2

7

これはトリッキーな方法ですが、あなたがしたいかもしれません!

追加QuartzCore.framework

#import <QuartzCore/QuartzCore.h>

//make circled shape

[yourMapView.layer setMasksToBounds:YES];
[yourMapView.layer setCornerRadius:160.0]; //here you've to pass width of yourMapView / 2

もっと多くの答えを見るのが楽しみです!! :)

于 2012-08-28T09:41:03.613 に答える
1

まず、衛星写真や航空写真を使用しているときにこれを行うと、 Googleマップの利用規約に違反することになります。

10ライセンスの制限。本規約で明示的に許可されている場合を除き、またはGoogleから(または該当する場合は特定のコンテンツのプロバイダーから)事前に書面による承認を受けていない限り、上記のGoogleのライセンスは、以下のすべての制限を順守する必要があります。セクション7で明示的に許可されている場合を除き、次のことを行ってはなりません(また、他の人に許可することもできません)。

..。

10.7本サービスまたはコンテンツに表示される警告、通知(著作権またはその他の所有権に関する通知を含むがこれらに限定されない)、またはリンクを削除、隠蔽、または何らかの方法で変更すること。

どんな回覧MKMapViewでも、写真とともに表示される著作権表示をおそらく覆い隠すでしょう。

MKMapView間もなくGoogleデータからAppleデータに変更されると予想されるかもしれませんが、おそらく、わかりにくくしてはならない同様のテキストがあるでしょう。


それが邪魔にならないように、これを機能させるには2つの方法があります。

  1. UIView背景が透明なサブクラスを作成し、そのdrawRectメソッドが円形の穴の周りに描画されるようにし、そのメソッドが同じ穴に対してpointInside:withEvent:返されるようにします。NOこれらのビューの1つをの上に配置しますMKMapView
  2. CAShapeLayer不透明な円(または他の形状)でを作成し、それをmask独自MKMapViewのものにしlayerます。これにより、円形の地図をどこにでも表示できるようになりますが、それでもその見えない角を操作することは可能です。
于 2012-08-28T12:19:59.727 に答える