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零件。


但是,我不建议使用==.
我建议检查这两个数字是否彼此相距很小。
有关示例,请参见此答案。

于 2012-09-13T15:54:34.417 回答