Sa paggamit ng Mapbox sa iyong Capstone project, kailangan mong i-configure ang iyong Gradle file upang mapasama ang mga kinakailangang mga dependencies.
Una, kailangan mong idagdag ang sumusunod na dependencies sa iyong
build.gradle file:
Code:
dependencies {
implementation 'com.mapbox.mapboxsdk:mapbox-android-sdk:9.6.0'
implementation 'com.mapbox.mapboxsdk:mapbox-android-navigation-ui:0.42.6'
}
Ang
mapbox-android-sdk ang magbibigay sa iyo ng mga core na library para sa pagpapakita ng mapa at iba pang mga function ng Mapbox. Samantala, ang
mapbox-android-navigation-ui ay kailangan kung nais mong gamitin ang mga function ng navigasyon ng Mapbox tulad ng mga route at turn-by-turn directions.
Pagkatapos mong i-sync ang iyong Gradle dependencies, maaari ka nang magsimula sa paggawa ng iyong code para sa pagkuha ng mga coordinate ng user at iba pa.
Para makuha ang mga coordinate ng user, maaari kang gumamit ng Location API ng Android. Narito ang sample code na maaari mong gamitin:
Java:
public class MainActivity extends AppCompatActivity implements LocationListener {
private LocationManager locationManager;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// Initialize LocationManager
locationManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
}
@Override
protected void onResume() {
super.onResume();
// Request location updates
if (ContextCompat.checkSelfPermission(this, Manifest.permission.ACCESS_FINE_LOCATION) == PackageManager.PERMISSION_GRANTED) {
locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 0, this);
} else {
// Request runtime permission for location
ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.ACCESS_FINE_LOCATION}, 1);
}
}
@Override
protected void onPause() {
super.onPause();
// Stop location updates
locationManager.removeUpdates(this);
}
@Override
public void onLocationChanged(Location location) {
// Handle location updates
double latitude = location.getLatitude();
double longitude = location.getLongitude();
// Do something with the coordinates
}
@Override
public void onStatusChanged(String provider, int status, Bundle extras) {}
@Override
public void onProviderEnabled(String provider) {}
@Override
public void onProviderDisabled(String provider) {}
}
Sa code na ito, ang
LocationManager ay ginagamit upang mag-request ng location updates mula sa device. Kapag mayroon na tayong mga updates, ang
onLocationChanged method ay tatawagin at makukuha natin ang mga coordinate ng user.
Tandaan na kailangan mo rin ng mga permission para sa access ng location. Kung wala ka pang na-set na permission sa
AndroidManifest.xml file, idagdag mo ito:
XML:
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
Ito ay isang simpleng halimbawa ng pagkuha ng mga coordinate ng user gamit ang Location API ng Android. Maaari kang magdagdag ng iba pang logic sa code depende sa kung paano mo gagamitin ang mga coordinate na ito sa iyong Uber-like project.
Nawa'y makatulong ito sa iyo na maipatupad nang maayos ang iyong Mapbox functionality sa iyong Capstone project! Kung mayroon ka pang ibang mga katanungan, huwag mag-atubiling magtanong muli.