Google Maps là một trong nhiều ứng dụng đi kèm với nền tảng Android. Ngoài chỉ cần sử dụng ứng dụng Bản đồ, bạn cũng có thể nhúng nó vào các ứng dụng của riêng mình và làm cho nó hoạt động là nội dung rất thú vị. Phần này mô tả cách sử dụng Google Maps trong các ứng dụng Android của bạn và lập trình thực hiện như sau:
- Thay đổi quan điểm của Google Maps.
- Lấy vĩ độ và kinh độ của các vị trí trong Google Maps.
vĩ độ và kinh độ và ngược lại).
- Thêm điểm đánh dấu vào Google Maps Các bước thực hiện
1. Tạo dự án và đặt tên là LBS
2. Khi dự án được tạo ra, thêm tệp maps.jar vào thư mục API như hình vẽ
Hình 3.5. Thêm thư viện vào Google API
Lấy Maps API Key
Bắt đầu với phiên bản Android SDK v1.0, bạn cần đăng ký khóa API Google Maps miễn phí trước khi bạn có thể tích hợp Google Maps vào ứng dụng Android của mình. Khi bạn đăng ký Key, bạn cũng phải đồng ý với các điều khoản sử dụng của Google, vì vậy hãy nhớ đọc hướng dẫn cẩn thận.
Xem chi tiết tại:
http://code.google.com/android/add-ons/google-apis/mapkey.html. Tên file chưa Debug Keystore là debug.keystore
Để sử dụng Keystore này, cần giải nén nó ra sử dụng Keytool.exe trong phần cài đặt SDK
keytool.exe -list -alias androiddebugkey –keystore “C:\Users\<username>\.android\debug.keystore” -storepass android -keypass android -v
Hình 3.6. Giao diện lấy Keystore
Trong ví dụ trên, MD5 fingerprint là 5C:67:CE:30:82:C3:58:08:88:2D:CE:56:27:80:50:EB. Sao chép MD5 đến trình duyệt web tại địa chỉ
http://code.google.com/android/maps-api-signup.html và làm theo hướng dẫn
Hình 3.7. Giao diện nhập đăng ký lên google
Hiển thị bản đồ
Việc hiển thị bản đồ cần hai nhiệm vụ chính
- Thay đổi file Androidmanifest.xml, thêm phần tử < uses-library > và cho phép Internet.
- Thêm phần tử MapView vào Giao diện UI 1. Tạo dự án và thêm Mapview
<?xml version=”1.0” encoding=”utf-8”?> <LinearLayout xmlns:android=”http://schemas.android.com/apk/res/android” android:layout_width=”fill_parent” android:layout_height=”fill_parent” android:orientation=”vertical” > <com.google.android.maps.MapView android:id=”@+id/mapView” android:layout_width=”fill_parent” android:layout_height=”fill_parent” android:enabled=”true” android:clickable=”true” android:apiKey=”0AeGR0UwGH4pYmhcwaA9JF5mMEtrmwFe8RobTHA” /> </LinearLayout> 2. Thêm 2 dòng in đậm <manifest xmlns:android=”http://schemas.android.com/apk/res/android” package=”net.learn2develop.LBS” android:versionCode=”1” android:versionName=”1.0” > <uses-sdk android:minSdkVersion=”14” />
<application
android:icon=”@drawable/ic_launcher” android:label=”@string/app_name” >
<uses-library android:name=”com.google.android.maps” />
<activity android:label=”@string/app_name” android:name=”.LBSActivity” > <intent-filter > <action android:name=”android.intent.action.MAIN” /> <category android:name=”android.intent.category.LAUNCHER” /> </intent-filter> </activity> </application> </manifest>
3. Thêm đoạn sau vào file LSBActivity.java
package net.learn2develop.LBS;
import com.google.android.maps.MapActivity;
import android.os.Bundle;
public class LBSActivity extends MapActivity {
/** Called when the activity is first created. */ @Override
public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState);
setContentView(R.layout.main); }
@Override
protected boolean isRouteDisplayed() {
// TODO Auto-generated method stub return false;
}
}
Hình 3.8. Giao diện chạy ứng dụng Google Map