Nghe mang lại Gmaps chắc rằng người nào cũng không còn xa lạ với cũng đã có lần sử dụng vài lần nhằm kiếm tìm kiếm vị trí và lối đi. Hôm nay mình muốn share với chúng ta biện pháp sử dụng gbản đồ api .
Bạn đang xem: Vẽ đường đi trên google map android
Ứng dụngTrong thời điểm này bài toán chuyển bản đồ vào vào áp dụng là khôn cùng thịnh hành , thực hiện maps vào ứng dụng giúp cho Việc biểu đạt địa điểm một phương pháp trực quan lại với siêu dễ dàng , đôi khi xoay xung quanh bản đồ rất có thể có khá nhiều chức năng các chúng ta cũng có thể trở nên tân tiến có tác dụng tăng cường mức độ hiệu dụng của app : tìm kiếm mặt đường, tra cứu kiếm bao bọc, .... Để vận dụng được gbản đồ vào tiện ích chúng ta phải xử lý một trong những bước sau.
Tạo 1 project map
Quý khách hàng đảm bảo an toàn Android SDK của mình đã có được thiết lập google playservice :

Sau kia 1 project bắt đầu được chế tác, bạn sẽ thấy lộ diện tệp tin google_maps_api.xml vào value thư mục. Trong đó bao gồm đoạn
YOUR_KEY_HEREYOUR_KEY_HERE : đó là địa điểm chúng ta điền key rước được từ bước 2.Tại đoạn này Khi run project bạn sẽ thấy như sau :

Lấy Google Maps API key:
Nlỗi gợi ý vào tệp tin google_maps_api.xml sau thời điểm chế tạo cũng có thể có ghi không hề thiếu phương pháp get 1 gmap api key. Trong kích thước nội dung bài viết bản thân không viết chi tiết . Sau khi mang được api key chúng ta sửa chữa thay thế vào "YOUR_KEY_HERE" trong bước 1 với hiệu quả chúng ta nhận được.

Xem thêm: Tuổi Quý Dậu Hợp Với Hướng Nhà Nào, Xem Hướng Chuẩn Cho Nam Và Nữ 1993
Trong Activity, hoặc fragment đựng map chăm chú cần implements OnMapReadyCallbackpublic class MapsActivity extends FragmentActivity implements OnMapReadyCallback private GoogleMap mMap;
Override protected void onCreate(Bundle savedInstanceState) super.onCreate(savedInstanceState); setContentView(R.layout.activity_maps); // Obtain the SupportMapFragment & get notified when the bản đồ is ready to lớn be used. SupportMapFragment mapFragment = (SupportMapFragment) getSupportFragmentManager() .findFragmentById(R.id.map); mapFragment.getMapAsync(this); /** * Manipulates the maps once available. * This callback is triggered when the bản đồ is ready khổng lồ be used. * This is where we can add markers or lines, add listeners or move sầu the camera. In this case, * we just add a marker near Sydney, nước Australia. * If Google Play services is not installed on the device, the user will be prompted khổng lồ install * it inside the SupportMapFragment. This method will only be triggered once the user has * installed Google Play services and returned to lớn the tiện ích. */
Override public void onMapReady(GoogleMap googleMap) mMap = googleMap; // Add a marker in Sydney & move the camera LatLng sydney = new LatLng(-34, 151); mMap.addMarker(new MarkerOptions().position(sydney).title("Marker in Sydney")); mMap.moveCamera(CameraUpdateFactory.newLatLng(sydney)); Hàm onMapReady được dùng để làm xử lý thông báo trên maps lúc maps sẽ sẵn sàng. Sau đấy là 1 số ít action mình hay được sử dụng trên maps.
Add Marker bên trên maps.
Trong hàm onMapReady ta thêm nhỏng sau:
public void onMapReady(GoogleMap googleMap) mMap = googleMap; // Add a marker in Sydney & move sầu the camera LatLng hanoi = new LatLng(21.0169598, 105.8114176); // tạo location gồm tọa độ lat, long tương ứng mMap.addMarker(new MarkerOptions().position(hanoi).title("Marker in HaNoi")); // phối marker trên điểm được tao ở bên trên cùng với ngôn từ hiển thị khi click vào vị trí mMap.moveCamera(CameraUpdateFactory.newLatLng(hanoi));// move sầu camera cho tới điểm vừa chế tạo. Trong khi chúng ta có thể config trong code hoặc file json các thông số nhỏng :
map:cameraBearing="112.5" map:cameraTargetLat="21.0169598" map:cameraTargetLng="105.8114176" map:cameraTilt="30" map:cameraZoom="13" map:mapType="normal" map:uiCompass="false" map:uiRotateGestures="true" map:uiScrollGestures="true" map:uiTiltGestures="true" map:uiZoomControls="true" map:uiZoomGestures="true"Sau config trên bạn được maps nlỗi sau, chú ý tại vị trí góc bên dưới bên bắt buộc đã xuất hiện tkhô hanh zoom bản đồ.

Vẽ đường đi giữa 2 điểm bên trên maps.
Với tệp tin MapsActivity.java được khởi chế tác lúc đầu ta tạo thêm 2 file bắt đầu nlỗi sau :GMapV2Direction.java
public class GetDirectionsAsyncTask extends AsyncTask, Object, ArrayList> { public static final String USER_CURRENT_LAT = "user_current_lat"; public static final String USER_CURRENT_LONG = "user_current_long"; public static final String DESTINATION_LAT = "destination_lat"; public static final String DESTINATION_LONG = "destination_long"; public static final String DIRECTIONS_MODE = "directions_mode"; private WeakReference activity; private Exception exception; // private ProgressDialog progressDialog; public GetDirectionsAsyncTask(MapsActivity activity) super(); this.activity = new WeakReference(activity); public void onPreExecute() // progressDialog = new ProgressDialog(activity.get().getActivity()); // progressDialog.setMessage("Calculating directions"); // progressDialog.show();