不僅iOS可以調(diào)用蘋(píng)果地圖,我們也可以借助谷歌的Web地圖API開(kāi)發(fā)地圖應(yīng)用,但這里所涉及的技術(shù)都是Web技術(shù),而非本地技術(shù)。那么如何調(diào)用谷歌Web地圖呢? 今天南昌APP制作開(kāi)發(fā)公司小編就來(lái)為大家介紹一下。
使用谷歌提供的Web地圖相關(guān)代碼如下:
@IBAction func geocodeQuery(sender: AnyObject) {
if (self.txtQueryKey.text == nil) {
return
}
var geocoder = CLGeocoder()
geocoder.geocodeAddressString(self.txtQueryKey.text,
completionHandler: { (placemarks, error) -> Void in
if placemarks.count > 0 {
NSLog("查詢記錄數(shù):%i", placemarks.count)
let placemark = placemarks[0] as CLPlacemark
let coordinate = placemark.location.coordinate
let urlString = NSString(format:"http://maps.google.com/maps?q=%f,%f",
coordinate.latitude,
coordinate.longitude) ①
let url = NSURL(string: urlString)! ②
UIApplication.sharedApplication().openURL(url) ③
}
//關(guān)閉鍵盤(pán)
self.txtQueryKey.resignFirstResponder()
})
}
- (IBAction)geocodeQuery:(id)sender {
if (self.txtQueryKey.text == nil || [self.txtQueryKey.text length] == 0) {
return;
}
CLGeocoder *geocoder = [[CLGeocoder alloc] init];
[geocoder geocodeAddressString:self.txtQueryKey.text
completionHandler:^(NSArray *placemarks, NSError *error) {
NSLog(@"查詢記錄數(shù):%lu",[placemarks count]);
if ([placemarks count] > 0) {
CLPlacemark* placemark = placemarks[0];
CLLocationCoordinate2D coordinate = placemark.location.coordinate;
NSString *urlString = [NSString stringWithFormat:
@"http://maps.google.com/maps?q=%f,%f",
coordinate.latitude,
coordinate.longitude]; ①
NSURL *url = [NSURL URLWithString:urlString]; ②
[[UIApplication sharedApplication] openURL:url]; ③
//關(guān)閉鍵盤(pán)
[_txtQueryKey resignFirstResponder];
}
}];
}
上述代碼的調(diào)用關(guān)鍵是①、②、③這3行代碼。第①行代碼設(shè)置url訪問(wèn)字符串,其中q后面是參數(shù), %f和%f 分別代表緯度和經(jīng)度。第②行代碼用于構(gòu)造一個(gè)URL對(duì)象。第③行代碼使用內(nèi)置瀏覽器打開(kāi)這個(gè)URL。
運(yùn)行結(jié)果如下圖所示。
谷歌Web地圖
以上就是調(diào)用谷歌Web地圖的方法,小編就先介紹到這里了。了解更多關(guān)于南昌APP開(kāi)發(fā)、網(wǎng)站建設(shè)等方面的知識(shí),歡迎來(lái)電咨詢百恒網(wǎng)絡(luò),我們專業(yè)為您服務(wù)!