iOS アプリでは、route me lib を使用してオフライン モードで地図を表示しています。マップ上にいくつかのマーカーがあり、ドラッグ可能にしたいと考えています。私はこのコードを使用しました:
- (void) mapView:(RMMapView *)map didDragMarker:(HotspotMarker*)marker withEvent:(UIEvent *)event
{
UITouch* touch = [[event allTouches] anyObject];
if([[event allTouches] count] == 1 && touch.phase == UITouchPhaseMoved)
{
CGPoint position = [touch locationInView:[touch.view superview]];
CGSize delta = CGSizeMake((position.x-(marker.position.x)),
(position.y-(marker.position.y)));
[marker moveBy: delta];
[marker setProjectedLocation:[[_mapView.contents projection]
latLongToPoint:[_mapView pixelToLatLong:marker.position]]];
}
}
マウスをゆっくり動かすとマーカーはうまくドラッグしますが、マウスを少し速く動かすとトラックが失われます。
そこで、サンプルの「MapTestbedFlipMaps」プロジェクトを調べて実行しました...同じ問題に遭遇しました。
次に、ジェスチャー認識機能を使用して自分でやろうとしましたが、まだ問題があります。
何か案が ?
編集:問題はマーカーの画像のサイズに起因するものではありません.100x100の画像で試してみましたが、同じ結果が得られました.