Android

Get driving directions using Google Maps API v2

Узнайте, как проехать с помощью Google Maps API v2

Я пытаюсь определить направление движения между двумя позициями:

LatLng(12.917745600000000000,77.623788300000000000)
LatLng(12.842056800000000000,7.663096499999940000)

Код, который я пробовал:

Polyline line = mMap.addPolyline(new PolylineOptions().
add(new LatLng(12.917745600000000000,77.623788300000000000),
new LatLng(12.842056800000000000,7.663096499999940000))
.width(5).color(Color.RED));

Но при этом между двумя точками проводится прямая линия.

Есть ли какой-либо другой метод / способ проложить маршрут движения между этими двумя точками.

Переведено автоматически
Ответ 1

Я только что выпустил свою последнюю библиотеку для Google Maps Direction API на Android https://github.com/akexorcist/Android-GoogleDirectionLibrary

Ответ 2

Это то, что я использую,

Intent intent = new Intent(android.content.Intent.ACTION_VIEW, 
Uri.parse("http://maps.google.com/maps?saddr="+latitude_cur+","+longitude_cur+"&daddr="+latitude+","+longitude));
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
intent.addCategory(Intent.CATEGORY_LAUNCHER );
intent.setClassName("com.google.android.apps.maps", "com.google.android.maps.MapsActivity");
startActivity(intent);
Ответ 3

Вы также можете попробовать следующий проект, который призван помочь использовать этот api. Он здесь:https://github.com/MathiasSeguy-Android2EE/GDirectionsApiUtils

Как это работает, определенно просто:

public class MainActivity extends ActionBarActivity implements DCACallBack{
/**
* Get the Google Direction between mDevice location and the touched location using the Walk
* @param point
*/

private void getDirections(LatLng point) {
GDirectionsApiUtils.getDirection(this, mDeviceLatlong, point, GDirectionsApiUtils.MODE_WALKING);
}

/*
* The callback
* When the direction is built from the google server and parsed, this method is called and give you the expected direction
*/

@Override
public void onDirectionLoaded(List<GDirection> directions) {
// Display the direction or use the DirectionsApiUtils
for(GDirection direction:directions) {
Log.e("MainActivity", "onDirectionLoaded : Draw GDirections Called with path " + directions);
GDirectionsApiUtils.drawGDirection(direction, mMap);
}
}
Ответ 4

Я нашел это -

val polyline1 = map?.addPolyline(
PolylineOptions().clickable(true)
.add(LatLng(23.8103, 90.4125), LatLng(4.0383, 21.7587))
.geodesic(true)
)
java android google-maps