2012-06-14 57 views
0

我有一个视图控制器加载地图,我已经将当前位置设置为地图加载时的默认值,我的问题是,如何获得此位置的url,以便我可以将它存储在一个nsstring中并在其他地方使用它,基本上将它添加到推特表中。如何获取Mapkit中当前位置的url?

回答

1

你想创建一个URL,如https://maps.google.com/maps??ll=55.123,12.234

获取用户从当前的MKMapView用户位置

mapView.userLocation.coordinate 

坐标或者如果它是您感兴趣的当前地图中心

mapView.centerCoordinate 

在实践中它看起来像这样

CLLocationCoordinate2D myCoord = mapView.userLocation.coordinate; 

NSString *url = [NSString stringWithFormat:@"http://maps.google.com/?ll=%f,%f", 
                myCoord.latitude, 
                myCoord.longitude]; 

NSLog(@"The URL is: %@", url); 

的片段给我下面的输出:

的网址是:http://maps.google.com/?ll=55.936699,12.289743

为谷歌地图URL的参数可以通过Google被发现和有已在StackOverflow处理过。

+0

感谢您的答案,这将意味着我将不得不每次都替换url中的值?我是xcode的新手,所以如果这听起来愚蠢的我忍不住。我尝试使用clmapcordinate2d * mycord并分配格和长值,正如你对* mycord所说的那样。但是,如何将url设置为mycord而不是实际值。是否可以设置q = mycord? – OccamsRazor

+0

我更新了答案,以显示字符串的创建 - 我也切换到使用ll参数谷歌地图。让我知道你是否需要更详细的答案。 –

+0

这真棒的人,这帮了我很多,但仍然有一个问题,nslog输出没有采取我的当前位置的坐标,它将0,0作为坐标值?我有setshowuserlocation设置为是,所以我的坐标应该采取当前位置坐标的权利? – OccamsRazor

0

你必须在一个字符串中保存城市和县。 那么你可以建立这样一个谷歌的链接:

NSString *link = [NSString stringWithFormat: @"http://maps.google.com/maps?q=%@,%@",city,country"]; 
+0

嘿,感谢您的快速回复,但没有办法在用户当前位置加载时自动填写城市和乡村参数,否则对于不同地区的用户来说这将是不切实际的。 – OccamsRazor