3

MKMapView で非常に小さな領域 (30x30 メートル) を表示する必要があります。適切な領域または visibleMapRect を設定しても機能しません。MapView は、はるかに大きな領域を示しています。

MKCoordinateRegion region = MKCoordinateRegionMakeWithDistance([centerLocation coordinate], 30, 30); 
[mapView setRegion:region];

regionThatFitsマップを更新する前に、MapView がメソッドで修正する非常に小さな領域があるようです。

手動でズームすると、そのような領域を表示できます。

4

2 に答える 2

1

MapKit は、このような高倍率の屋内での使用向けには設計されていません。屋内アプリケーションに使用されているオープン ソースのMapBox iOS SDKなどの代替手段を確認することをお勧めします。特に、iOS 7 の iBeacons テクノロジは、屋内の三角測量や、屋内用にも高ズーム用にも設計されていない GPS のようなものよりも精度が高い場合にも役立ちます。

于 2013-10-28T17:55:34.607 に答える
0

アップルのドキュメントによると:

新しい地域を設定するとき、マップは地域パラメーターの値を調整して、マップの可視領域に正確に収まるようにします。これは正常な動作であり、地域プロパティの値がマップの表示部分を常に反映するようにするために行われます。ただし、このメソッドを呼び出した直後にそのプロパティの値を取得すると、返される値が設定した値と一致しない可能性があることを意味します。( regionThatFits: メソッドを使用して、マップによって実際に設定される地域を決定できます。)

そのため、距離を適用すると、リクエストに最適な領域が作成されます。あなたが要求したものとまったく同じではありません。

また、30*30 メートルは非常に高いズーム レベルであり、サポートされていない可能性があります。それが役立つことを願っています。

于 2013-10-27T05:42:25.650 に答える