Breaking News
Loading...
Saturday, July 20, 2013

Hiển thị Google Maps - Xcode - IPhone

7/20/2013 08:22:00 PM
Google Maps (thời gian trước còn gọi là Google Local) là một dịch vụ ứng dụng và công nghệ bản đồ trực tuyến trên web miễn phí được cung cấp bởi Google và hỗ trợ nhiều dịch vụ dựa vào bản đồ như Google Ride Finder và một số có thể dùng để nhúng vào các trang web của bên thứ ba thông qua Google Maps API. Nó cho phép thấy bản đồ giao thông, đường đi cho xe đạp, cho người đi bộ (những đường đi ngắn hơn 6.2 dặm) và xe hơi, và những địa điểm kinh doanh trong khu vực cũng như khắp nơi trên thế giới.


Một sản phẩm liên quan, đó là Google Earth, một ứng dụng độc lập dành cho Microsoft Windows, Mac OS X và Linux cho phép xem các tính năng mở rộng khác.

Với sự linh động của thiết bị di động ta có thể mang nó đi một cách dễ dàng, sử dụng vào nhiều mục đích, việc tích hợp Google Maps trên thiết bị di động là rất cần thiết. Và đặc biệt khi kết nối GPS thì ta có thể biết vị trí của mình đang đứng ngay trên bản đồ Google Maps giúp dẫn đường và tìm kiếm những vị trí một cách dễ dàng.

ISO đã xây dựng sẵn một framework giúp cho ứng dụng xây dựng kết nối tới Google Maps một cách dễ dàng. Sau đây sẽ hướng dẫn các bạn tạo ứng dụng trên iPhone kết nối tới Google Maps.
Trong Xcode tạo Project mới với tên dự án là “Mapgoogle”. Sau khi tao Project xong ta Add framework hỗ trợ kết nối tới Google Maps framework đó là “Mapkit.framework”. Bằng cách tích vào dấu “+” trong Build Phases để Add framework này vào.
Hình 1 Tích vào dấu “+” trong Build Phases để Add framework Map
Ø Sau khi bấm vào dấu “+” thì hộp thoại chọn Add framework hiển thị ra ta hãy tìm chọn đến “MapKit.framework”
Hình 2 Chọn Add “MapKit.framework”

Chọn file “MapgoogleViewController.h” chỉnh sửa dòng lệnh như sau:
#import <UIKit/UIKit.h>
#import <MapKit/MapKit.h>
@interface MapgoogleViewController: UIViewController
<MKMapViewDelegate> {
    MKMapView *mapview;
UIView *view;
}
//Tạo hàm loadView để gọi ứng dụng GoogleMaps
-(void)loadView;
@end
Chọn file “MapgoogleViewController.m” để viết nội dung cho lớp. Ta viết nội dung cho hàm loadView.
- (void)loadView {
      view = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 320, 460)];
      view.backgroundColor = [UIColor whiteColor];
      mapview = [[MKMapView alloc] initWithFrame:CGRectMake(0, 44, 320, 416)];
      mapview.delegate = self;
      [view addSubview:mapview];     
      ////Add Toolbar
      UIImageView *imageViewButtonBar = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"buttonbar_grey.png"]];
      imageViewButtonBar.frame = CGRectMake(0, 0, 320, 44);
      [view addSubview:imageViewButtonBar];
      ////Add ButtonBack
    UIButton *buttonBack = [UIButton buttonWithType:UIButtonTypeRoundedRect];
    buttonBack.frame = CGRectMake(5, 4, 100, 35);
    //Thiết lập Tên của button
    [buttonBack setTitle:@"Start" forState:UIControlStateNormal];
    [view addSubview:buttonBack];
      [self setView:view];
}

Vậy là ta đã hoàn thành viết code cho ứng dụng, công việc cuối cùng và cũng quan trọng là liên kết giao diện hiển thị với code.Cần  Liên kết View tới code. Chọn mở file “MapgoogleViewController.xib”, Bấm chuột lên bất kỳ chỗ nào trong view. Bấm Connections Inspector. Bên cạnh chữ New Referencing Outlet bạn sẽ thấy một vòng tròn. Bấm vào vòng tròn đó và kéo đường kẻ màu xanh tới File’s Owner và thả ra. Chữ view sẽ tự động hiện ra. Bấm chuột lên nó. Vậy là bạn đã liên kết cửa sổ view tới đối tượng proxy của bạn. Bây giờ bạn sẽ thấy hình sau:
Hình 3 Liên kết View trong Map

Bây giờ ta có thể bấm Build and Go để chạy chương trình, và cảm nhận nó. Giao diện sẽ như sau:
Hình 4 Giao diện khi chạy ứng dụng kết nối Google Maps

0 comments:

Post a Comment

 
Toggle Footer