【问题标题】:Mapkit UserLocation found eventMapkit UserLocation 找到事件
【发布时间】:2009-11-19 15:17:26
【问题描述】:

在 iPhone 地图包中成功找到用户位置时是否会触发事件?

我想在当前位置图钉放到地图上时调用网络服务。

【问题讨论】:

    标签: iphone mapkit


    【解决方案1】:

    如果您有 MKMapView 本身显示用户的位置(以编程方式使用“mapView.showsUserLocation = YES;”或通过 IB 检查“显示用户位置”),则地图视图将在 pin 时调用 viewForAnnotation被丢弃。您可以使用:

    - (MKAnnotationView *)mapView:(MKMapView *)aMapView viewForAnnotation:(id <MKAnnotation>)annotation 
    {
      if ([annotation isKindOfClass:MKUserLocation.class]) {
        // Call web service here
        return nil;
      }
    }
    

    返回 nil 告诉地图视图使用其默认引脚作为用户位置(带有动画的蓝点)。 不要忘记将您的控制器设置为MKMapViewDelegate

    【讨论】:

      【解决方案2】:

      您需要创建 CLLocationManger 对象并调用startUpdatingLocation 方法。一旦找到并更新了位置,CLLocationMangerDelegate 方法

      - (void)locationManager:(CLLocationManager *)manager didUpdateToLocation:(CLLocation *)newLocation fromLocation:(CLLocation *)oldLocation
      

      将被自动调用。您可以重新实现此方法并从此处调用您的 Web 服务。

      【讨论】:

        猜你喜欢
        • 2015-04-18
        • 1970-01-01
        • 2010-12-27
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-02-18
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多