Вот пример кода для функции поиска, которая работает только при включенных данных.
private void searching() {
Log.d(TAG, "init: initializing");
search = (EditText) findViewById(R.id.input_search);
search.setOnKeyListener(new View.OnKeyListener() {
@Override
public boolean onKey(View v, int keyCode, KeyEvent event) {
if (event.getAction() == EditorInfo.IME_ACTION_SEARCH || event.getKeyCode() == KeyEvent.KEYCODE_ENTER) {
Log.d(TAG, "geolocate: Geolocating");
Geocoder geocoder = new Geocoder(MainActivity.this);
List<Address> list = new ArrayList<>();
String searchString = search.getText().toString();
try {
list = geocoder.getFromLocationName(searchString, 1);
} catch (IOException e) {
Log.e(TAG, "geolocater: IO exception" + e.getMessage());
}
if (list.size() > 0) {
final Address address = list.get(0);
Log.d(TAG, "Found the address:" + address.toString());
GeoCoordinate geoCoordinate=new GeoCoordinate(address.getLatitude(),address.getLongitude());
Image image=new Image();
try {
image.setImageResource(R.drawable.marker1);
} catch (IOException e) {
e.printStackTrace();
}
if (mm != null) {
mm.setVisible(false);
}
mm=new MapMarker(geoCoordinate,image);
map.addMapObject(mm);
map.setCenter(geoCoordinate,
Map.Animation.BOW, 13.0d, 180, 45);
map.setZoomLevel((map.getMaxZoomLevel() + map.getMinZoomLevel()) / 1.5);
}
}
return false;
}
});
}
Но я думал, что он будет работать так же в автономном режиме, но это не так. Я также скачал карту в автономном режиме, но кое-как этот код не работает на загруженной карте. как я могу решить это