Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/meteor/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Xcode 如何在Mapkit中获取当前位置的url?_Xcode_Mapkit_Ios5 - Fatal编程技术网

Xcode 如何在Mapkit中获取当前位置的url?

Xcode 如何在Mapkit中获取当前位置的url?,xcode,mapkit,ios5,Xcode,Mapkit,Ios5,我有一个加载地图的视图控制器,我在加载地图时将当前位置设置为默认位置,我的问题是,如何获取该位置的url,以便我可以将其存储在nsstring中,并在其他地方使用,基本上将其添加到推特表中。您必须以字符串形式保存城市和县。 然后你可以像这样建立一个谷歌链接: NSString *link = [NSString stringWithFormat: @"http://maps.google.com/maps?q=%@,%@",city,country"]; 您需要创建一个URL,例如 从MKMa

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

您必须以字符串形式保存城市和县。 然后你可以像这样建立一个谷歌链接:

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

您需要创建一个URL,例如

从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);
该代码段提供了以下输出:

网址是:


谷歌地图URL的参数可以通过找到,并已在上处理。

嘿,感谢您的快速回复,但是在加载用户当前位置时,是否有办法自动填写城市和国家参数,否则对不同地区的用户来说是不切实际的。感谢您的回答,这意味着我每次都必须替换url中的值?我是xcode新手,所以如果这听起来很愚蠢,请耐心听我说。我尝试使用clmapcordinate2d*mycord,并按照您对*mycord所说的那样分配latt和long值。但是,我如何将url设置为采用mycord而不是实际值。是否可以设置q=mycord?我更新了答案是显示字符串的创建——我也切换到使用ll参数来GoogleMaps。如果您需要更详细的答案,请告诉我。这真是太棒了,这对我帮助很大,但仍然有一个问题,nslog输出没有采用我当前位置的坐标,而是采用0,0作为坐标值?我已将setshowuserlocation设置为yes,因此我的coord应该将当前位置坐标的值设置为right?根据调用代码的位置,在建立位置之前的前几秒钟,它可能为零。如果您正在使用模拟器,您必须从模拟器的菜单中指定一个“假”位置。