ユーザーの位置をリアルタイムで追跡し、コースをMKMapView
. GPS の読み取り値が取得されるたびに、現在の場所と古い場所の間にポリラインが描画され、最終的にユーザーが移動した場所のトラック (またはブレッドクラム) が形成されます。
以下のようなコードを使用して、事前にすべての座標を持っていると仮定して、トラックを使用MKPolyline
して描画することに慣れています。MKPolylineView
CLLocationCoordinate2D
MKPolyline *route = [MKPolyline polylineWithCoordinates:coordinates count:[self.coordinateArray count]];
[mapView addOverlay:route];
ただし、CLLocationCoordinate2D
(デリゲート メソッドが呼び出されると) リアルタイムで座標を取得するだけなのでlocationManager:didUpdateToLocation:fromLocation:
、新しいポリラインを描画する最善の方法がわかりません。
既存の線を拡張できますか (つまり、C ベースのcoordinates
配列に追加します - C の経験があまりないため、これを行う方法がわかりません)、または次の 2 つの座標の間に新しいポリラインを作成する必要がありますか (ただし、マップ上の個々のポリラインが多すぎると、パフォーマンスとメモリ使用量に影響を与える可能性があります...)?
前もって感謝します。