我正在尝试设置GMSMapView的初始中心位置。那里有大约2000个教程,向您展示如何使用这样的任意坐标设置它:
- (void)viewDidLoad
{
[super viewDidLoad];
// Create a GMSCameraPosition that tells the map to display the
// coordinate -33.86,151.20 at zoom level 6.
GMSCameraPosition *camera = [GMSCameraPosition cameraWithLatitude:-33.86
longitude:151.20
zoom:6];
mapView_ = [GMSMapView mapWithFrame:CGRectZero camera:camera2];
但我不想在澳大利亚开始,而是转移到用户实际所在的地方。我想在用户所在的任何地方开始,就像谷歌地图应用程序的工作方式一样。
以下是我认为我知道的事情:
mapView_.myLocationEnabled = YES;
,我应该可以使用mapView_.myLocation
viewDidLoad
期间GPS数据可能尚未提供,因此该值最初为0,0或为零或任何其他值(无用)。CLLocationManager
管理设备位置,以跟踪设备是否移动等。但是如何将(最终)存储在CLLocationManager
中的数据传递给GMSMapView,以便我从正确的位置开始?
这似乎不应该那么困难,但经过2个小时的搜索,我找不到答案。
答案 0 :(得分:0)
这是我到目前为止所提出的......
这个问题类似于我的问题:Could not get current location using Google Map API (GMSMapView)
并且this blog post修改了上述帖子中的答案,并提供了一些非常有用的解释。
它看起来很有效,但加载时仍然有点毛躁的闪烁,而我认为这是因为我最初设置相机位置的方式。如果有人知道更好的方法,请告诉我!