地図は表示されるようになったがジオオフェンスの領域の円形が表示されない。

- (MKOverlayRenderer *)mapView:(MKMapView *)mapView rendererForOverlay:(id < MKOverlay >)overlay {
が怪しい。
レンダラーって何?

googleさんで調べると、MKOverlayViewがiOS7.0か進化したとか。それでもってMKOverlayViewが非推奨にになってます。
とにかく古いソースなので、MKOverlayViewにを使ってテスト、でも表示されない。

MKOverlayRendererを使うには、iOS7.0以上となっていたので、Deployment Targetを7.0に上げる.

 

 

 

これで文句ないだろう、だが反応なし。

[_mapView addOverlay:_fenceRange1 level:MKOverlayLevelAboveRoads];

メソッドをどうみても問題ない。やはりレンダラーか…。

appleデベロッパーガイドで使い方を調べる。

線の色や、太さ、塗りつぶしの指定。

詳しくはこれを読みましょう。

 

https://developer.apple.com/jp/devcenter/ios/library/documentation/LocationAwarenessPG.pdf

問題ないよな…。

元のサンプルを動かしたがしっかり表示される。

やっぱりstoryboardで作り直すしかないかと悩みながら、もう一度xibの画面を確認。

MapViewを見ていてoutletのdelegateが接続されていない事に気づく。

 

 

 

設定してやり直す無事、ジオフェンスは表示されました。

 

 

 

 

 

 

 

 

 

 

 

何か赤色だと非常事態のようだねぇ、なので黄色に変えてみました。

renderer.fillColor = [[UIColor yellowColor] colorWithAlphaComponent:0.3];

 

 

 

 


 

 

 

 

 

 

今度は現在地の青い○が表示されてない。

self.mapView.showsUserLocation = YES;を追加

 

 

 

 

 

 

 

 

 

 

 

ジオフェンス機能の追加は完了したので、次はBeaconに反応した際のお店情報の表示。

メッセージを追加して行きます。