2

ここで私が今疲れ果てている何かに苦しんでいます。ここには 2 つの部分があります。

1) ユーザーが既に識別され、ViewDidLoad にピン留めされている同じ座標を検索した場合、ピンを削除しようとしています。この部分は機能します。操作できない部分は#2です。

2)ユーザーが他の場所を検索するとき、ピンを追加したい、つまり [self.mapView addAnnotation:addAnnotation]; 私のコードは以下です。

- (IBAction) showAddress // THIS IS A BUTTON WHICH LOCATES COORDINATES
{

[addressField resignFirstResponder];
MKCoordinateRegion region;
MKCoordinateSpan span;
span.latitudeDelta=0.2;
span.longitudeDelta=0.2;

CLLocationCoordinate2D location = [self addressLocation];
region.span=span;
region.center=location;

[mapView setRegion:region animated:TRUE];
[mapView regionThatFits:region];

if (location.longitude = (double) -73.2125) 
{   
    addAnnotation = [[AddressAnnotation alloc]initWithCoordinate:location]; 
    [self.mapView removeAnnotation:addAnnotation];
}

else  
{
    addAnnotation = [[AddressAnnotation alloc]initWithCoordinate:location]; 

    [self.mapView addAnnotation:addAnnotation];
    [addAnnotation release];
}
}

何かご意見は?みんなありがとう!

4

1 に答える 1

1

この行:

if (location.longitude = (double) -73.2125)

=比較()ではなく、割り当て( )を行い==ます。

割り当ては常に成功するため、常にそのremoveAnnotation部分に割り当てられます。


ただし、を使用してdouble(または浮動小数点数)を比較することはお勧めしません==
代わりに、2つの数値が互いに少し離れているかどうかを確認することをお勧めします。例については、この回答
を 参照してください。

于 2012-09-13T15:54:34.417 に答える