Форум программистов, компьютерный форум, киберфорум
Наши страницы
Программирование Android
Войти
Регистрация
Восстановить пароль
 
qxyz
0 / 0 / 0
Регистрация: 26.04.2018
Сообщений: 3
1

Google Maps Directions API

26.04.2018, 19:58. Просмотров 262. Ответов 1
Метки нет (Все метки)

В Android Studio создала приложение, которое на Google карте должно показать маршрут через несколько точек. Маршрут не прорисовывается и в режиме отладки в отрезке почему-то конечным адресом указана точка на другом полушарии (прикрепляю скрин). Так же время пути и расстояние минимальны: 1 min и 1 ft. В манифесте прописаны все разрешения и ключ api, в gradle google-maps-services и play-services-maps синхронизированы. Подскажите пожалуйста где допущена ошибка и что именно не так. Заранее спасибо)

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
public class MainActivity extends FragmentActivity implements OnMapReadyCallback {
 
private List<LatLng> places = new ArrayList<>();
String mapsApiKey = "AIzaSyDoVB6Oo_FY-3V-HcT6BsjQIynzC6g92zU";
final String TAG = "myLogs";
 
    @Override
    protected void onCreate(Bundle savedInstanceState) {
 
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
 
        SupportMapFragment mapFragment = (SupportMapFragment) getSupportFragmentManager().findFragmentById(R.id.map);
        mapFragment.getMapAsync(this);
 
        places.add(new LatLng(55.754724, 37.621380));
        places.add(new LatLng(55.760133, 37.618697));
        places.add(new LatLng(55.764753, 37.591313));
        places.add(new LatLng(55.728466, 37.604155));
}
 
 
    @Override
    public void onMapReady(GoogleMap googleMap) {
 
        MarkerOptions[] markers = new MarkerOptions[places.size()];
        for (int i = 0; i < places.size(); i++) {
            markers[i] = new MarkerOptions()
                    .position(places.get(i));
            googleMap.addMarker(markers[i]);
        }
 
        //Получаем контекст для запросов, mapsApiKey хранит в себе String с ключом для карт
        GeoApiContext geoApiContext = new GeoApiContext.Builder()
                .apiKey(mapsApiKey)
                .build();
 
        String[] way = new String[2];
        way[0]=String.valueOf(places.get(1));
        way[1]=String.valueOf(places.get(2));
        DateTime now = new DateTime();
        
        //Здесь будет наш итоговый путь состоящий из набора точек
        DirectionsResult result = null;
        try {
            result = DirectionsApi.newRequest(geoApiContext)
                    .mode(TravelMode.WALKING)
                    .origin(String.valueOf(places.get(0)))//Место старта
                    .destination(String.valueOf(places.get(places.size() - 1)))//Пункт назначения
                    .waypoints(way) //Промежуточные точки.
                    .departureTime(now)
                    .await();
 
        } catch (ApiException | InterruptedException | IOException e) {
 
            e.printStackTrace();
        }
        String a = "Time :"+ result.routes[0].legs[0].duration.humanReadable + " Distance :" + 
        result.routes[0].legs[0].distance.humanReadable;
        Log.d(TAG, a);
 
       //Преобразование итогового пути в набор точек
 
        List<LatLng> path = null;
        path = PolyUtil.decode(result.routes[0].overviewPolyline.getEncodedPath());
        googleMap.addPolyline(new PolylineOptions().addAll(path).color(R.color.colorPrimary).width(16f));
 
        LatLng moscow = new LatLng(55.728466, 37.604155);
        googleMap.moveCamera(CameraUpdateFactory.newLatLng(moscow));
        googleMap.animateCamera(CameraUpdateFactory.zoomTo(13));
}
}
0
Миниатюры
Google Maps Directions API   Google Maps Directions API  
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.04.2018, 19:58
Ответы с готовыми решениями:

Лимит на запросы в Google Maps Directions API
Какие лимиты? как понимать это: 2500 запросов на 1 устройство? или на...

Google maps API v2
Перешёл на новые API для карт google. Программирую под платформу 2.2, поэтому...

Google Maps API v2+ SlidingMenu
Написал простенькое приложение с выдвижной формой, в одном из разделов...

Использование Google Maps API V2
Добрый день. Сейчас делаю один проект под Android, а так как в этом я почти...

Google Maps Api Key
Здравствуйте! Создал приложение с использованием Google Maps. Для её работы...

1
qxyz
0 / 0 / 0
Регистрация: 26.04.2018
Сообщений: 3
30.04.2018, 12:50  [ТС] 2
Проблема решена путем замены массива значениями типа String.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
30.04.2018, 12:50

Google Maps API v2 Оповещание
Помогите пожалуйста. Ставлю на карте маркер: public void...

Google Maps/Drive API for Android
Столкнулся с такой пробелмой, пару месяцев назад написал приложение , которое...

Google Maps API v2. Не отображается карта
Доброго времени суток. На днях решил поработать с Google API Maps. И столкнулся...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru