Полилиния, которую мы будем нарисовать на карте, не похожа на полилинию приложения карты Google. Это дает приятное ощущение 3d, можно ли рисовать полилинию, подобную этой полилинии?. Можно ли рисовать с помощью 9-патча изображения?. Кто-нибудь, пожалуйста, помогите ?.Как нарисовать полилинию, похожую на приложение google map в android?
ответ
Здравствуйте, это поможет вам, это помогло мне.
Сначала введите ключ сервера google api из учетной записи разработчика Google, а затем добавьте зависимость для направления Google.
compile 'com.akexorcist:googledirectionlibrary:1.0.4'
тогда он проверяет, возможен ли и короткий маршрут между LatLongs.
этот код, чтобы проверить маршрут, доступен или нет.
GoogleDirection.withServerKey(getResources().getString(R.string.SERVER_KEY))
.from(SourceLatlng)
.to(DestinationLatlng)
.execute(new DirectionCallback() {
@Override
public void onDirectionSuccess(Direction direction, String message) {
if (direction.isOK()) {
DrawRoute(direction, message,SourceLatlng,DestinationLatlng);
} else {
//selectedRawLine = ERROR;
}
}
@Override
public void onDirectionFailure(Throwable t) {
t.printStackTrace();
}
});
Используя это, мы можем обнаружить, что маршрут является возможным или не
private void DrawRoute(Direction direction, String message,LatLng sourceLatlng,LatLng DestinationLng) {
for (Route route : direction.getRouteList()) {
PolylineOptions polyoptions = new PolylineOptions();
polyoptions.color(getResources().getColor(R.color.blackcolor));
polyoptions.width(5);
polyoptions.addAll(route.getOverviewPolyline().getPointList());
poly = googleMap.addPolyline(polyoptions);
poly.setClickable(true);
}
LatLngBounds.Builder latLngBuilder = new LatLngBounds.Builder();
if(sourceLatlng!=null)
latLngBuilder.include(sourceLatlng);
if(DestinationLng!=null)
latLngBuilder.include(DestinationLng);
try {
LatLngBounds bounds = latLngBuilder.build();
CameraUpdate cu = CameraUpdateFactory.newLatLngBounds(bounds,
UiHelper.dpToPixel(getActivity(), 135));
googleMap.animateCamera(cu);
} catch (Exception e) {
e.printStackTrace();
}
}
Используя этот код мы делаем ломаную линию между двумя latLongs ...
Я пробовал поли линию, но поли линия google map (System App) отличается от этой полилинии –
, вы можете изменить цвет поли линии так же, как и полилинии карты, и изменить ширину полилинии с помощью этого. –
polyoptions.width (5); –
нет, это не представляется возможным. Действительно, GoogleMaps не использует игровые сервисы api, как мы, но у них есть много методов. –