当视图在iOS中加载时如何在缩放时显示用户当前位置?

Posted

技术标签:

【中文标题】当视图在iOS中加载时如何在缩放时显示用户当前位置?【英文标题】:How to Show User Current Location On Zoom When View Did Load in iOS? 【发布时间】:2015-01-26 08:00:31 【问题描述】:

我是 ios 开发的新手,我制作了一个 Goggle 地图支持的应用程序,它显示用户当前位置,但是当我按下我的 GMSMapView 上的 CurrentLocation 按钮时,我会显示用户当前位置,但我想在不按下按钮的情况下向用户显示当前位置我的意思是当viewDidLoad 我用缩放显示直接当前位置时请帮助我。

我在这里写一个代码,就像我的.h File一样。

#import <UIKit/UIKit.h>
#import <GoogleMaps/GoogleMaps.h>

@interface MapViewController : UIViewController<GMSMapViewDelegate>
@property (nonatomic,retain) IBOutlet GMSMapView *mapView;
@end

.m File like as 的代码

- (void)viewDidLoad

    [super viewDidLoad];
    self.mapView.myLocationEnabled = YES;
    self.mapView.mapType = kGMSTypeNormal;
    self.mapView.settings.compassButton = YES;
    self.mapView.settings.myLocationButton = YES;
    self.mapView.delegate = self;

请帮助我在没有当前位置按钮的情况下显示当前位置。 请帮助我如何在谷歌地图中获取当前位置地址。

谢谢。

【问题讨论】:

【参考方案1】:

试试:

[self.mapView animateToLocation: self.mapView.myLocation.coordinate];

请记住,如果位置尚未确定,myLocation 可能是 nil!您可以使用键值观察 (KVO) 来确定何时动画到当前位置。

-(void) viewDidLoad 
    [super viewDidLoad];
    [self.mapView addObserver:self forKeyPath:@"myLocation" options:NSKeyValueObservingOptionNew | NSKeyValueObservingOptionOld context:nil];


-(void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary *)change context:(void *)context

    if ([keyPath isEqualToString:@"myLocation"]) 
        // Animate map to current location (This will run every time user location updates! 
        [self.mapView animateToLocation: self.mapView.myLocation.coordinate];
        // You can remove self from observing 'myLocation' to only animate once
        [self.mapView removeObserver:self forKeyPath:@"myLocation"];
    

【讨论】:

@thnks amrin 但它不能在模拟中工作。我想从纬度和经度获取地址怎么可能? 在这里我想直接缩放到我的位置它没有设置缩放来引导我的位置,就像我在我的模拟器中将位置设置为孟买一样。然后它只是显示孟买不是一个完美的位置孟买。请给我解决方案。 您可以使用- (void) animateToZoom: (float) zoom 方法。所以设置[self.mapView animateToZoom: zoomFloat]; 你真的应该阅读文档:developers.google.com/maps/documentation/ios/reference/…

以上是关于当视图在iOS中加载时如何在缩放时显示用户当前位置?的主要内容,如果未能解决你的问题,请参考以下文章

Jquery Geocomplete。在页面加载时显示用户当前位置

当用户放大 UIScrollView 时如何隐藏某些内容,然后在缩小时显示它?

如何在 Flutter 中获取当前位置时显示加载微调器?

iOS Swift Webview 在加载时显示图像

如何在导航栏下隐藏搜索栏并在用户下拉表格视图时显示它?

如何保存选定的 TableView 行数据并在用户返回屏幕时显示?