1

中心点に画像を表示する方法を教えてください。詳しく説明しましょう。MapPin にカスタム イメージがありますが、イメージは次のようになります

ここに画像の説明を入力

よく見ると、ピンは正しい緯度経度に落ちていますが、画像中央の丸みを帯びた部分が緯度経度にかかっているため、緯度経度が違う位置にあるように見えます。ピンベースを参照してください)。しかし、代わりに、ピンベースが位置 (緯度と経度) に収まるようにする必要があります。このようなもの.. (2番目の画像を参照) 画像が 300 あるので、画像の高さと幅を変更するように言わないでください。それが唯一のオプションでない限り、またはおそらくプログラムで変更できるまで。

この哀れな問題を助けてください。

ありがとうパルズ。

ここに画像の説明を入力

4

2 に答える 2

1

centerOffset を使用して、画像サイズに応じて位置をシフトできます。

例えば、絶対オフセットの場合:

-(MKAnnotationView *)mapView:(MKMapView *)mapView viewForAnnotation:(id <MKAnnotation>)annotation {

    static NSString* const annIdentifier = @"annotationidentifier";
    PinAnnotationView* myPinView = [[[PinAnnotationView alloc] initWithAnnotation:annotation     reuseIdentifier:annIdentifier] autorelease];

    myPinView.centerOffset = CGPointMake(0, -10.0f);

    return myPinView;
}

これらの絶対値を、個々の画像サイズに応じて計算された値に置き換えます。

于 2013-11-04T22:52:52.963 に答える
0

私はテストアプリでこのようなことをしました。

独自の方法でカスタマイズできるコードをここに配置します。これが役立つことを願っています。

スーパービューでロードしました、私は持っています

MapAnnotation *ann = [[MapAnnotation alloc] init];

MKCoordinateRegion region;
region.center.latitude = 31.504679;
region.center.longitude = 74.247429;
region.span.latitudeDelta = 0.01;
region.span.longitudeDelta = 0.01;

[mapView setRegion:region animated:YES];




ann.title = @"Digital Net";
ann.subtitle = @"Office";
ann.coordinate = region.center;

[mapView addAnnotation:ann];
于 2013-11-04T15:28:55.670 に答える