google map trong android tài liệu, giáo án, bài giảng , luận văn, luận án, đồ án, bài tập lớn về tất cả các lĩnh vực kin...
http://vietjack.com/android/index.jsp Copyright © vietjack.com Google Map Android Android cho phép tích hợp Google Map ứng dụng Bạn hiển thị vị trí Map, hiển thị tuyến khác Map, … Bạn tùy chỉnh Map tùy theo lựa chọn Thêm Google Map Google cung cấp phương tiện sử dụng Google Play Service Library mà bạn phải download từ bên Sau tải về, bạn phải tích hợp với project Cuối cùng, bạn phải tích hợp ứng dụng với Google thơng qua Google Console Điều giải thích ví dụ Google Map - Activity file Google cung cấp GoogleMap MapFragment API để tích hợp Mạp ứng dụng Android Để sử dụng GoogleMap, bạn phải tạo đối tượng GoogleMap lấy tham chiếu Map từ xml layout file Cú pháp sau: − GoogleMap googleMap; googleMap = ((MapFragment) getFragmentManager().findFragmentById(R.id.map)).getMap(); Google Map - Layout file Bây bạn phải thêm map fragment vào xml layout file Cú pháp là: − Google Map - AndroidManifest file Tiếp theo bạn cần thêm số permission với Google Map API key AndroidManifest.XML file Cú pháp sau: − http://vietjack.com/ Trang chia sẻ các bài học online miễn phí Page 1 http://vietjack.com/android/index.jsp Copyright © vietjack.com Tùy chỉnh Google Map Bạn dễ dàng tùy chỉnh Google Map từ View mặc định nó, thay đổi theo yêu cầu bạn Thêm Marker Bạn đặt Marker với vài text thông qua để hiển thị vị trí bạn Map Điều thực thơng qua phương thức Cú pháp sau: addMarker() Cú pháp sau: − final LatLng TutorialsPoint = new LatLng(21 , 57); Marker TP = googleMap.addMarker(new MarkerOptions().position(TutorialsPoint).title("TutorialsPoint")); Thay đổi Map Type Bạn thay đổi kiểu Map Có kiểu Map khác kiểu cung cấp view khác Map Các kiểu Normal, Hybrid, Satellite, Terrain Bạn sử dụng chúng sau: googleMap.setMapType(GoogleMap.MAP_TYPE_NORMAL); googleMap.setMapType(GoogleMap.MAP_TYPE_HYBRID); googleMap.setMapType(GoogleMap.MAP_TYPE_SATELLITE); googleMap.setMapType(GoogleMap.MAP_TYPE_TERRAIN); Kích hoạt/vơ hiệu hóa Zoom Bạn kích hoạt vơ hiệu hóa Zoom Gesture Map việc gọi phương thức Cú pháp sau: setZoomControlsEnabled(boolean) Cú pháp sau: − googleMap.getUiSettings().setZoomGesturesEnabled(true); Ngoài tùy chỉnh này, lớp GoogleMap cung cấp số phương thức khác giúp đỡ bạn tùy chỉnh Map Đó là: − Stt Phương thức & Miêu tả addCircle(CircleOptions options) Phương thức thêm vòng tròn vào Map http://vietjack.com/ Trang chia sẻ các bài học online miễn phí Page 1 http://vietjack.com/android/index.jsp Copyright © vietjack.com addPolygon(PolygonOptions options) Phương thức thêm hình đa giác vào Map addTileOverlay(TileOverlayOptions options) Phương thức thêm Tile Overlay tới Map animateCamera(CameraUpdate update) Phương thức di chuyển Map theo update với Animation clear() Phương thức gỡ bỏ thứ từ Map getMyLocation() Phương thức trả vị trí người dùng hiển thị moveCamera(CameraUpdate update) Phương thức tái định vị Camera tương ứng với thị định nghĩa update setTrafficEnabled(boolean enabled) Phương thức toggle tầng truyền tải on off snapshot(GoogleMap.SnapshotReadyCallback callback) Phương thức nhận snapshot Map 10 stopAnimation() Phương thức dừng Camera Animation có hiệu ứng tiến hành Ví dụ Ví dụ sau minh họa sử dụng lớp GoogleMap Bạn tạo ứng dụng M cho phép điều hướng thông qua Map Để thử nghiệm ví dụ, bạn chạy thiết bị thực Emulator http://vietjack.com/ Trang chia sẻ các bài học online miễn phí Page 1 http://vietjack.com/android/index.jsp Copyright © vietjack.com Tích hợp Google Map Để tích hợp Google Map ứng dụng, bạn thực theo bước sau: • Tải cấu hình Google Play Service SDK • Thu nhận API key từ Google Console • Xác định thiết lập Android Manifest Tải cấu hình Google Play Service SDK Cài đặt Google Service SDK Nhấn chuột phải vào ứng dụng, sau mở Project Structure chọn Dependencies tab Từ bạn thấy biểu tượng "+" bạn chọn Library Dependencies Bạn cần thêm Google Services cửa sổ http://vietjack.com/ Trang chia sẻ các bài học online miễn phí Page 1 http://vietjack.com/android/index.jsp Copyright © vietjack.com http://vietjack.com/ Trang chia sẻ các bài học online miễn phí Page 1 http://vietjack.com/android/index.jsp Copyright © vietjack.com Nhập SDK tới Eclipse Sau tải SDK, nhấn file tab chọn tùy chọn Import Chọn code ứng dụng android tồn nhấn Ok Trình duyệt tới android folder sau sdk folder Trong sdk folder, mở extras folder Mở google folder chọn google play services Cấu hình Project với SDK Sau nhập SDK, bạn phải thêm vào project bạn Để thực hiện, nhấn chuột phải project chọn Properities Chọn Android từ tab bên trái sau chọn Add bên phải panel Hình minh họa là: Thu nhận API key Phần chia thành bước Đầu tiên bạn phải lấy SHA1 fingerprint key từ PC bạn sau phải lấy Map API key từ Google Console Lấy Certificate từ KeyTool Bạn cần lấy Certificate Key bạn phải cung cấp cho Google Console để lấy API key cho Map Mở dòng nhắc lệnh di chuyển tới path bạn đặt jre Bây gõ lệnh sau: keytool -list -v -alias androiddebugkey -keystore %%Your path%% -storepass android -keypass android http://vietjack.com/ Trang chia sẻ các bài học online miễn phí Page 1 http://vietjack.com/android/index.jsp Copyright © vietjack.com Thay %%your path%% với path bạn chép từ việc chọn Window tab, chọn Preferences tab chọn tùy chọn Build Android từ bên trái Sao chép debug keystore path mặc định thay dòng lệnh nhấn Enter Kết sau xuất Sao chép SHA1 key cho bước Lấy key từ Google Console Mở Google Console đăng nhập cách nhấn vào new project Chọn Services từ tab trái sau điều hướng tới Google Máp Android API v2 Bạn phải bật Bây lại tới tab trái chọn API Access, sau Create new Android key Bây dán key bạn chép đặt dấu chấm phảy dán tên project bạn nhấn Create Như sau: http://vietjack.com/ Trang chia sẻ các bài học online miễn phí Page 1 http://vietjack.com/android/index.jsp Copyright © vietjack.com Bây chép API key cung cấp cho bạn Android, bạn phải dán manifest file Xác định thiết lập Android Manifest Bước cuối thêm API key vào ứng dụng Mở manifest file đặt code trước đóng thẻ ứng dụng Trong dòng thứ hai thay API_KEY với api key bạn Bạn cần thêm số permission vào manifest Thêm Google Máp vào ứng dụng Sau nội dung main activity sửa đổi:src/com.example.googlemaps/MainActivity.java http://vietjack.com/ Trang chia sẻ các bài học online miễn phí Page 1 http://vietjack.com/android/index.jsp Copyright © vietjack.com package com.example.googlemaps; import com.google.android.gms.maps.GoogleMap; import com.google.android.gms.maps.MapFragment; import com.google.android.gms.maps.model.LatLng; import com.google.android.gms.maps.model.Marker; import com.google.android.gms.maps.model.MarkerOptions; import android.os.Bundle; import android.app.Activity; import android.widget.Toast; public class MainActivity extends Activity { static final LatLng TutorialsPoint = new LatLng(21 , 57); private GoogleMap googleMap; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); try { if (googleMap == null) { googleMap = ((MapFragment) getFragmentManager() findFragmentById(R.id.map)).getMap(); } googleMap.setMapType(GoogleMap.MAP_TYPE_HYBRID); Marker TP = googleMap.addMarker(new MarkerOptions() position(TutorialsPoint).title("TutorialsPoint")); (Exception e) { e.printStackTrace(); } } catch } } Bạn sửa đổi nội dung res/layout/activity_main.xml Tiếp theo nội dung AndroidManifest.xml file Chạy ứng dụng GoogleMaps vừa tạo http://vietjack.com/ Trang chia sẻ các bài học online miễn phí Page 1 http://vietjack.com/android/index.jsp Copyright © vietjack.com Điều bạn cần làm di chuyển chuột tới hình khinh khí cầu để xem text Bây bạn tùy chỉnh Google Map theo tùy chọn bạn với hàm cung cấp GoogleMap API http://vietjack.com/ Trang chia sẻ các bài học online miễn phí Page 1 ... sau: googleMap.setMapType(GoogleMap .MAP_ TYPE_NORMAL); googleMap.setMapType(GoogleMap .MAP_ TYPE_HYBRID); googleMap.setMapType(GoogleMap .MAP_ TYPE_SATELLITE); googleMap.setMapType(GoogleMap .MAP_ TYPE_TERRAIN);... com.example.googlemaps; import com .google. android. gms.maps.GoogleMap; import com .google. android. gms.maps.MapFragment; import com .google. android. gms.maps.model.LatLng; import com .google. android. gms.maps.model.Marker;... (googleMap == null) { googleMap = ((MapFragment) getFragmentManager() findFragmentById(R.id .map) ).getMap(); } googleMap.setMapType(GoogleMap .MAP_ TYPE_HYBRID); Marker TP = googleMap.addMarker(new