#java #android #geojson #osmdroid #osmbonuspack
#java #Android #geojson #osmdroid #osmbonuspack
Вопрос:
Мне нужно сохранить свои точки в geojson, но я не знаю как
Я уже пытался использовать KML, но не смог, потому что не знаю, нужно ли мне использовать новый класс или нет
Поскольку я не знаю, должен ли я помещать в новый класс или в onCreate, в конце концов он всегда выдает ошибку, и я не могу ее решить из-за отсутствия информации и контактов с этой областью, поскольку я новичок, пожалуйста, помогите мне, это работа в колледже.
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//onde mostra a imagem do mapa
Context ctx = getApplicationContext();
Configuration.getInstance().load(ctx, PreferenceManager.getDefaultSharedPreferences(ctx));
setContentView(R.layout.activity_main);
//Essa é para poder utilizar as permissões
StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder().permitAll().build();
StrictMode.setThreadPolicy(policy);
osm = (MapView) findViewById(R.id.mapaId);
osm.setTileSource(TileSourceFactory.MAPNIK);
osm.setUseDataConnection(true);
osm.setMultiTouchControls(true);
osm.setClickable(true);
osm.setBuiltInZoomControls(true);
if (Build.VERSION.SDK_INT >= M) {
if (ContextCompat.checkSelfPermission(this, Manifest.permission.INTERNET) != PackageManager.PERMISSION_GRANTED ||
ContextCompat.checkSelfPermission(this, Manifest.permission.WRITE_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED) {
String[] permissoes = {Manifest.permission.INTERNET, Manifest.permission.WRITE_EXTERNAL_STORAGE};
requestPermissions(permissoes, PERMISSAO_REQUERIDA);
}
}
osm.setMapListener(new MapListener() {
@Override
public boolean onScroll(ScrollEvent event) {
Log.i("Script()", "onScroll ()");
return true;
}
@Override
public boolean onZoom(ZoomEvent event) {
Log.i("Script()", "onZoom ()");
return false;
}
});
mc = (MapController) osm.getController();
GeoPoint center = new GeoPoint(-5.1251, -38.3640);
mc.setZoom(14);
mc.animateTo(center);
addMarker(center);
locationManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
if (ActivityCompat.checkSelfPermission(this, Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED amp;amp; ActivityCompat.checkSelfPermission(this, Manifest.permission.ACCESS_COARSE_LOCATION) != PackageManager.PERMISSION_GRANTED) {
// TODO: Consider calling
// .
return;
}
locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 0, this);
MapEventsOverlay mapEventsOverlay = new MapEventsOverlay(this, this);
osm.getOverlays().add(0, mapEventsOverlay);
// Aqui adiciona a escala do mapa
ScaleBarOverlay scaleBarOverlay = new ScaleBarOverlay(osm);
osm.getOverlays().add(scaleBarOverlay);
kmlDocument = new KmlDocument();
// kmlDocument.parseGeoJSON(geoJsonString);
/* this.mLocationOverlay = new MyLocationNewOverlay(new GpsMyLocationProvider(ctx),osm);
this.mLocationOverlay.enableMyLocation();
osm.getOverlays().add(this.mLocationOverlay);*/
this.mCompassOverlay = new CompassOverlay(this, new InternalCompassOrientationProvider(ctx), osm);
this.mCompassOverlay.enableCompass();
osm.getOverlays().add(this.mCompassOverlay);
}
Это мой код, я сделал это до этого момента. Как мне добавить GeoJSON внутри него, должен ли я поместить его в onCreate? Должен ли я создать новый java-файл для развертывания библиотеки или мне нужно это делать с версии 6?
Комментарии:
1. Извините, но я понятия не имею, что вы на самом деле хотите сделать. В частности, какие «точки» вы хотите сохранить? Я не вижу данных, которые были бы кандидатом на сохранение в вашем примере. У вас есть только некоторые общие настройки библиотеки osmdroid — и предполагается, что эта библиотека отображает карту (= набор изображений, называемых плитками) и некоторые дополнительные наложения на карту (контакты и так далее). Если вы хотите извлечь некоторые данные из openstreet map, эта библиотека вам вообще не поможет.
2. здравствуйте, эта библиотека, которую я использую, показывает мне карту, и она по-прежнему ничего не сохраняет внутри GeoJSON, поэтому я смиренно прошу вас помочь мне вставить в нее GeoJSON
3. Я все еще не понимаю, чего вы хотите достичь.
4. Что я хочу сделать, это сохранить свои координаты (широту и долготу), чтобы я мог сохранить эту информацию внутри GeoJSON
5. И откуда берутся эти координаты? Вы имеете в виду текущее местоположение / местоположение вас (вашего устройства) с помощью GPS?