不僅iOS可以調(diào)用蘋果地圖,我們也可以借助谷歌的Web地圖API開發(fā)地圖應(yīng)用,但這里所涉及的技術(shù)都是Web技術(shù),而非本地技術(shù)。那么如何調(diào)用谷歌Web地圖呢? 今天南昌APP制作開發(fā)公司小編就來為大家介紹一下。
使用谷歌提供的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)閉鍵盤
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)閉鍵盤
[_txtQueryKey resignFirstResponder];
}
}];
}
上述代碼的調(diào)用關(guān)鍵是①、②、③這3行代碼。第①行代碼設(shè)置url訪問字符串,其中q后面是參數(shù), %f和%f 分別代表緯度和經(jīng)度。第②行代碼用于構(gòu)造一個URL對象。第③行代碼使用內(nèi)置瀏覽器打開這個URL。
運行結(jié)果如下圖所示。
谷歌Web地圖
以上就是調(diào)用谷歌Web地圖的方法,小編就先介紹到這里了。了解更多關(guān)于南昌APP開發(fā)、網(wǎng)站建設(shè)等方面的知識,歡迎來電咨詢百恒網(wǎng)絡(luò),我們專業(yè)為您服務(wù)!