iphone - mapView "addAnnotation:addAnnotation"未根据需要使用 IF/ELSE 语句删除引脚

标签 iphone xcode mkmapview mkannotation mkannotationview

在我现在已经精疲力尽的事情上挣扎。这里有两个部分:

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];
}
}

有什么想法吗?谢谢大家!

最佳答案

这一行:

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

进行赋值 (=),而不是比较 (==)。

由于分配总是成功,因此它总是转到 removeAnnotation 部分。


但是,我不建议使用 == 比较 double (或任何 float )。
我建议检查这两个数字是否在彼此之间的一小段距离内。
请参阅this answer举个例子。

关于iphone - mapView "addAnnotation:addAnnotation"未根据需要使用 IF/ELSE 语句删除引脚,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12410069/

相关文章:

ios - 以百分比形式为两个 UIView 指定约束

ios - 为什么要使用委托(delegate)?

ios - MKMapView 在 map 上加载数千个图钉

iphone - 在MKMapview中如何获取ios中的行车方向列表

iphone - UIView 中的动画,如警报(弹出)

ios - UIScrollView 不滚动

ios - 为 UIView 提供数据

xcode - View 未根据模拟器调整大小

iphone - NSXMLParser工作正常,但是如何实现UIActivityIndi​​cator来显示网络事件?

iphone - IOS6 防止/限制在 MKMapView 中缩放