API Карт Google показывает неправильные маршруты

Я использую Google Maps API и Google Maps Directions API для отслеживания пути паломничества. Мой режим путешествий идет пешком, и у меня есть 8 путевых точек (Google не позволяет вам добавлять больше бесплатно).

Проблема состоит в том, что Google Maps берет странный незапрашиваемый обходной путь от первоначального пути. Я настроил LatLng координат как точки, соответственно, решить эту проблему, но API остается упрямым на его решимость взять меня в 200 км от пути и обратно...

Я приложил скриншот приложения с этим вопросом. Как видите, в правом нижнем углу Google Maps идет в обход. Как мне решить проблему? Благодарю вас.

Вот некоторый код:

String url = "https://maps.googleapis.com/maps/api/directions/json?origin=18.6769503," +
            "73.8945701&destination=17.6774444,75.3329239&mode=walking&waypoints=" +
            "via:Saswad,MH|via:Jejuri,MH|via:Natepute,MH|" +
            "via:Velapur,MH|via:Bhandishegaon,MH|via:Wakhari,MH|" +
            "via:17.685236,75.287492|via:17.682496,75.304931&" +
            "key=MY_API_KEY";

    RequestQueue requestQueue = Volley.newRequestQueue(this);
    StringRequest jsonObjectRequest = new StringRequest(Request.Method.GET, url,
            new Response.Listener<String>() {

                @Override
                public void onResponse(String response) {
                    Log.i("Json Data", "Successfully Retrieved - Starting Parse Process");
                    mapJsonData = response;
                    try {
                        parseJsonData(mapJsonData);
                    } catch (JSONException e) {
                        e.printStackTrace();
                    }

                    PolylineOptions polyOptions = new PolylineOptions().geodesic(true).
                            color(Color.RED).
                            width(10);
                    polyOptions.add(dnyaneshwarOrigin);
                    for (int i = 0; i < polyPoints.size(); i++) {
                        polyOptions.add(polyPoints.get(i));
                    }
                    polyOptions.add(vitthalMandir);
                    gMap.addPolyline(polyOptions);

                    final LatLngBounds.Builder builder = new LatLngBounds.Builder();
                    builder.include(dnyaneshwarOrigin);
                    builder.include(vitthalMandir);

                    mapLayout.getViewTreeObserver().addOnGlobalLayoutListener
                            (new ViewTreeObserver.OnGlobalLayoutListener() {
                        @Override
                        public void onGlobalLayout() {
                            LatLngBounds bounds = builder.build();
                            gMap.animateCamera(CameraUpdateFactory.newLatLngBounds
                                    (bounds, 20));
                        }
                    });
                }
            }, new Response.ErrorListener() {

        @Override
        public void onErrorResponse(VolleyError error) {
            Log.e("Response Error", "Could Not Retrieve Json Data");
            Toast.makeText(MapActivity.this, "Error Retrieving Json Data",
                    Toast.LENGTH_SHORT).show();
        }
    });
    Log.i("Request Queue", "Sending Json Request");
    requestQueue.add(jsonObjectRequest);

1 ответ

Решение

Исправлена ​​проблема. Было альтернативное место с тем же названием, что и у меня. Я изменил путевую точку в своем URL с имени на конкретные координаты Лат-Лонг, и это решило проблему для меня.

Другие вопросы по тегам