Я пытаюсь выполнить геокодирование с помощью геокодирования 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();
}
});
}