Enable / fix iOS module, closes #29
This commit is contained in:
@@ -1,58 +1,70 @@
|
||||
package org.oscim.ios;
|
||||
|
||||
import org.oscim.backend.GLAdapter;
|
||||
import org.oscim.gdx.GdxMap;
|
||||
import org.oscim.ios.backend.IosGLAdapter;
|
||||
import org.oscim.ios.backend.IosGraphics;
|
||||
import org.oscim.layers.tile.buildings.BuildingLayer;
|
||||
import org.oscim.layers.tile.vector.VectorTileLayer;
|
||||
import org.oscim.layers.tile.vector.labeling.LabelLayer;
|
||||
import org.oscim.theme.VtmThemes;
|
||||
import org.oscim.tiling.TileSource;
|
||||
import org.oscim.tiling.source.oscimap4.OSciMap4TileSource;
|
||||
import org.robovm.apple.glkit.GLKViewDrawableStencilFormat;
|
||||
import org.robovm.cocoatouch.foundation.NSAutoreleasePool;
|
||||
import org.robovm.cocoatouch.uikit.UIApplication;
|
||||
|
||||
import com.badlogic.gdx.backends.iosrobovm.IOSApplication;
|
||||
import com.badlogic.gdx.backends.iosrobovm.IOSApplicationConfiguration;
|
||||
import org.oscim.backend.CanvasAdapter;
|
||||
import org.oscim.layers.tile.buildings.BuildingLayer;
|
||||
import org.oscim.layers.tile.vector.VectorTileLayer;
|
||||
import org.oscim.layers.tile.vector.labeling.LabelLayer;
|
||||
import org.oscim.map.Map;
|
||||
import org.oscim.theme.VtmThemes;
|
||||
import org.oscim.tiling.source.oscimap4.OSciMap4TileSource;
|
||||
import org.robovm.apple.foundation.NSAutoreleasePool;
|
||||
import org.robovm.apple.glkit.GLKViewDrawableStencilFormat;
|
||||
import org.robovm.apple.uikit.UIApplication;
|
||||
import org.robovm.apple.uikit.UIDevice;
|
||||
import org.robovm.apple.uikit.UIScreen;
|
||||
|
||||
public class RobovmLauncher extends IOSApplication.Delegate {
|
||||
@Override
|
||||
protected IOSApplication createApplication() {
|
||||
IOSApplicationConfiguration config = new IOSApplicationConfiguration();
|
||||
config.orientationLandscape = true;
|
||||
config.orientationPortrait = true;
|
||||
config.stencilFormat = GLKViewDrawableStencilFormat._8;
|
||||
|
||||
return new IOSApplication(new GdxMap() {
|
||||
@Override
|
||||
public void createLayers() {
|
||||
TileSource tileSource = new OSciMap4TileSource();
|
||||
@Override
|
||||
protected IOSApplication createApplication() {
|
||||
|
||||
//initDefaultLayers(tileSource, false,true, false);
|
||||
VectorTileLayer l = mMap.setBaseMap(tileSource);
|
||||
mMap.setTheme(VtmThemes.NEWTRON);
|
||||
mMap.layers().add(new BuildingLayer(mMap, l));
|
||||
mMap.layers().add(new LabelLayer(mMap, l));
|
||||
IOSApplicationConfiguration config = new IOSApplicationConfiguration();
|
||||
config.orientationLandscape = true;
|
||||
config.orientationPortrait = true;
|
||||
config.stencilFormat = GLKViewDrawableStencilFormat._8;
|
||||
|
||||
// mMap.getLayers().add(new GenericLayer(mMap, new
|
||||
// GridRenderer(1,new Line(Color.LTGRAY, 1.2f),null)));
|
||||
float scale = (float)(getIosVersion() >= 8 ? UIScreen.getMainScreen().getNativeScale() : UIScreen.getMainScreen()
|
||||
.getScale());
|
||||
|
||||
mMap.setMapPosition(53.1, 8.8, 1 << 14);
|
||||
}
|
||||
CanvasAdapter.dpi *= scale;
|
||||
|
||||
}, config);
|
||||
}
|
||||
IOSMapApp iosMapApp = new IOSMapApp() {
|
||||
@Override
|
||||
public void createLayers() {
|
||||
Map map = getMap();
|
||||
|
||||
public static void main(String[] argv) {
|
||||
|
||||
NSAutoreleasePool pool = new NSAutoreleasePool();
|
||||
System.setProperty(org.slf4j.impl.SimpleLogger.DEFAULT_LOG_LEVEL_KEY, "TRACE");
|
||||
IosGraphics.init();
|
||||
GLAdapter.init(new IosGLAdapter());
|
||||
VectorTileLayer l = map.setBaseMap(new OSciMap4TileSource());
|
||||
|
||||
UIApplication.main(argv, null, RobovmLauncher.class);
|
||||
pool.drain();
|
||||
}
|
||||
map.layers().add(new BuildingLayer(map, l));
|
||||
map.layers().add(new LabelLayer(map, l));
|
||||
|
||||
map.setTheme(VtmThemes.DEFAULT);
|
||||
map.setMapPosition(53.075, 8.808, 1 << 17);
|
||||
}
|
||||
|
||||
};
|
||||
|
||||
IOSMapApp.init();
|
||||
|
||||
return new IOSApplication(iosMapApp, config);
|
||||
}
|
||||
|
||||
|
||||
private int getIosVersion () {
|
||||
String systemVersion = UIDevice.getCurrentDevice().getSystemVersion();
|
||||
return Integer.parseInt(systemVersion.split("\\.")[0]);
|
||||
}
|
||||
|
||||
|
||||
public static void main(String[] argv) {
|
||||
NSAutoreleasePool pool = new NSAutoreleasePool();
|
||||
System.setProperty(org.slf4j.impl.SimpleLogger.DEFAULT_LOG_LEVEL_KEY, "TRACE");
|
||||
IOSMapApp.init();
|
||||
|
||||
UIApplication.main(argv, null, RobovmLauncher.class);
|
||||
pool.drain();
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user