Bài viết này, chúng tôi muốn đề cập đến bạn đọc làm thế nào để lấy giá trị GPS vào chương trình ứng dụng của mình. Với giá trị này, ứng dụng của bạn sẽ dễ dàng xác định được vị trí của chiếc điện thoại trên bản đồ thế giới dựa vào giá trị hoành độ (latitude), tung độ (longitude) và cao độ (altitude).

Khi cài đặt Bada SDK thành công, bạn có thể tìm thấy các ứng dụng mẫu có đề cập đến vấn đề location được hỗ trợ trên bada.

Trong bài viết này, chúng tôi chỉ trích chọn một số điểm đặc trưng, làm thế nào để lấy giá trị hoành độ, tung độ và cao độ. Sau đó, đưa giá trị lấy được đó vào google map để xác định vị trí hiện tại trên bản đồ thế giới.

Ví dụ:

Cập nhật vị trí của mình trên bản đồ

Tìm kiếm đường đi và vị trí trên bản đồ

Để sử dụng được GPS, ứng dụng của bạn phải sử dụng lớp

public Osp::Locations::ILocationListener

để lắng nghe sự kiện cập nhật giá trị GPS.

Khai báo đối tượng localtion để lấy giá trị hoành độ, tung độ và cao độ.

// Get Location

Osp::Locations::LocationProvider* __pLocProvider;
__pLocProvider = new LocationProvider();
__pLocProvider->Construct(LOC_METHOD_GPS);
__pLocProvider->RequestLocationUpdates(*this, 5, false);

Phương thức RequestLocationUpdates() sẽ phát sinh sự kiện OnLocationUpdated sau thời gian timeout (ví dụ:  5 giây). Khi sự kiện được phát sinh thì kèm theo đó là object mô tả giá trị location (nếu có)

Tại đây, chúng ta xử lý để lấy giá trị hoành độ và tung độ như sau:

MyForm::OnLocationUpdated (Location &location)
{
	double latitude = 0;
	double longitude = 0;
	const QualifiedCoordinates* pQCoord = location.GetQualifiedCoordinates();
	if(pQCoord != null)
	{
		latitude = pQCoord->GetLatitude();
		longitude = pQCoord->GetLongitude();
		AppLog("Lat: %f, Long: %f", latitude, longitude);
	}
}

Sau khi có được giá trị hoành độ (latitude) và tung độ (longitude), bạn đưa nó vào google map để hiển thị là xong.

Google map cung cấp các API để chúng ta xác định vị trí, tìm đường, tìm địa chỉ và hiển thị vị trí trên bản đồ.

Bạn đọc phải có chút kiến thức cơ bản về cách sử dụng nó hoặc tìm hiểu các bài mẫu (tutorial) để đưa nó vào ứng dụng cho phù hợp.

Chúc bạn thành công!

Code demo