在我现在筋疲力尽的事情上苦苦挣扎。这里有两个部分:
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];
}
}
有什么想法?谢谢你们!
答案 0 :(得分:1)
这一行:
if (location.longitude = (double) -73.2125)
执行作业(=
),而不是比较(==
)。
由于作业始终成功,因此总是转到removeAnnotation
部分。
但是,我不建议使用==
比较双打(或任何浮点数)
我建议检查这两个数字是否在彼此相距很小的距离内
有关示例,请参阅this answer。