2012-06-14 54 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