【问题标题】:Placing blue dot in mapKit with a desired location在具有所需位置的 mapKit 中放置蓝点
【发布时间】:2010-05-11 07:36:08
【问题描述】:

出于演示目的,我需要在 Mapkit 视图中模拟用户位置。 似乎可以使用未记录的 API 将蓝点放置在地图视图上的任何位置。 不幸的是,我不知道可以使用未记录的 API 吗? 有什么帮助吗?

【问题讨论】:

    标签: iphone iphone-sdk-3.0 mapkit location


    【解决方案1】:

    你设置了吗?

    mapView.showsUserLocation = YES;
    

    设置特定位置有点困难,但如果没有未记录的 API,肯定是可行的。见以下代码:

    - (void)animateToSelectedPlace:(CGFloat)zoomLevel {
        MKCoordinateRegion region;
        region.center = [self getCoordinateFromComponents:chosenLatitude:chosenLongitude];
    
        MKCoordinateSpan span = {zoomLevel,zoomLevel};
        region.span = span;
    
        [mapView setRegion:region animated:YES];
    }
    
    -(CLLocationCoordinate2D)getCoordinateFromComponents:(NSNumber*)latitude:(NSNumber*)longitude {
        CLLocationCoordinate2D coord;
        coord.latitude = latitude.doubleValue;
        coord.longitude = longitude.doubleValue;
        return coord;
    }
    

    【讨论】:

    • 我已经用 showUserLocation=YES 进行了测试。但我需要将蓝点设置为特定位置。任何想法,示例代码?
    • 感谢您的帮助。它不工作。如果我理解得很好, animateToSelectPlace 函数用于设置带有动画的地图位置(区域定义的中心)。我已设置 mapView.showsUserLocation=YES 但地图中心未显示蓝点...还有其他想法吗?
    • 您可以关闭showsUserLocation,因为这不会帮助您缩放到特定点。你作为 zoomLevel 传递了什么?尝试从 0.02 开始。您是否发送了有效的纬度/经度值?
    • 嗨,在地图以正确的缩放级别正确居中之前,我已经设置了正确的经度/纬度。我的 pb 是在中心没有显示蓝点...我真的认为如果不使用未记录的 API 是不可能的...蓝点是由 LocationManager 返回的位置提供的...任何其他想法
    【解决方案2】:

    不确定是否可以设置自定义用户位置(通常人们使用图像模拟蓝色用户点)。虽然我不是 100% 确定,但你有机会尝试这样的事情来检查是否可以像使用 MKAnnotation 一样处理 userLocation ...

    CLLocationCoordinate2D c = self.mapView.userLocation.location.coordinate;
    [[self.mapView userLocation] setCoordinate:c];
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多