10.7 地図画像の転送量を少なくする
ここまでのプログラムでアノテーションを画面の中心に固定した状態で、周りの地図が動いていくアプリが動きました。しかし地図情報を頻繁に更新しているということはiPhoneとApple Watchの間で常に通信が発生しているということになります。
シミュレータではスムースに動作しているように見えますが、実機のApple Watchで動作させた場合には、地図の更新が遅れ、バッテリーの持ちも悪くなるに違いありません。
そこで、なるべくMapKitからの地図画像の転送を行わないようにプログラムを修正することにします。修正点はcheckPositionだけです。
- (void)checkPosition {
// アノテーションが地図の中心からある程度離れたら表示しなおす
double latDiff =
fabs(mapCenterLocation.latitude - userLocation.latitude);
double lonDiff =
fabs(mapCenterLocation.longitude - userLocation.longitude);
if((latDiff > spanValue*0.4)||(lonDiff > spanValue*0.4)) {
// マップの表示位置、表示範囲を変更
[self ref
この記事は会員限定です。会員登録をすると続きをお読みいただけます。
ログイン / 新規登録