Геокодирование Mapbox с кириллицей c названий улиц - PullRequest
0 голосов
/ 16 марта 2020

Я пытаюсь выполнить геокодирование с помощью геокодирования MapBox. У меня проблема с поиском кириллицы c (сербские) названия улиц. Когда я ищу название города (которые отображаются латиницей), я могу найти их. Кроме того, для MapBox нет возможности отображать карту на сербском языке (только на английском языке sh, Франция, Германия, испанский sh). Тем не менее, я пытался сделать это с настройкой языка на сербском языке, но это не помогает.

Вот мой код, но я думаю, что нет проблем с кодом, это просто проблема с MapBox, не предлагающая поддержку Сербии.

private void getCoordinatesFromAddress(String address) {
    progressDialog.setCancelable(false);
    progressDialog.setMessage("Pronalazenje lokacije...");
    progressDialog.show();


    MapboxGeocoding mapboxGeocoding = MapboxGeocoding.builder()
            .accessToken(getString(R.string.mapbox_access_token))
            .query(address)
            .mode(GeocodingCriteria.MODE_PLACES)
            .geocodingTypes(GeocodingCriteria.TYPE_ADDRESS, GeocodingCriteria.TYPE_PLACE)
            .proximity(Point.fromLngLat(21.895759,43.320902))
            .country("RS")
            .languages("sr")
            .build();

    mapboxGeocoding.enqueueCall(new Callback<GeocodingResponse>() {
        @Override
        public void onResponse(Call<GeocodingResponse> call, Response<GeocodingResponse> response) {

            List<CarmenFeature> results = response.body().features();

            if (results.size() > 0) {

                progressDialog.dismiss();

                Point firstResultPoint = results.get(0).center();
                publicFunctions.displayToast("Lokacija " + address + " pronadjena");
                move(firstResultPoint.latitude(),firstResultPoint.longitude());
            } else {
                publicFunctions.displayToast("Lokacija " + address + " nije pronadjena");
                progressDialog.dismiss();
            }
        }

        @Override
        public void onFailure(Call<GeocodingResponse> call, Throwable throwable) {
            throwable.printStackTrace();
            progressDialog.dismiss();
        }
    });
}

1 Ответ

1 голос
/ 18 марта 2020

Сербский - это , упомянутое в https://docs.mapbox.com/api/search/#local -coverage

Вы можете использовать площадку геокодирования Mapbox для исследования. Вот URL-адрес , который загрузит игровую площадку с настройками, соответствующими приведенному выше коду запроса геокодирования. Убедитесь, что вы вводите запросы на сербском языке на игровой площадке, потому что применяется фильтр на сербском языке.

...