diff --git a/docs/Changelog.md b/docs/Changelog.md
index 0fbcf700..badf85bb 100644
--- a/docs/Changelog.md
+++ b/docs/Changelog.md
@@ -4,8 +4,7 @@
- S3DB layer [#475](https://github.com/mapsforge/vtm/pull/475)
- vtm-mvt module with MVT tile decoder [#481](https://github.com/mapsforge/vtm/pull/481)
-- OpenMapTiles MVT vector tiles [#481](https://github.com/mapsforge/vtm/pull/481)
-- OpenMapTiles GeoJSON vector tiles [#385](https://github.com/mapsforge/vtm/issues/385)
+- OpenMapTiles MVT vector tiles [#482](https://github.com/mapsforge/vtm/issues/482)
- Render theme fallback internal resources [#477](https://github.com/mapsforge/vtm/issues/477)
- Many other minor improvements and bug fixes
- [Solved issues](https://github.com/mapsforge/vtm/issues?q=is%3Aclosed+milestone%3A0.10.0)
diff --git a/vtm-android-example/AndroidManifest.xml b/vtm-android-example/AndroidManifest.xml
index cbaf9c54..f83ee1b0 100644
--- a/vtm-android-example/AndroidManifest.xml
+++ b/vtm-android-example/AndroidManifest.xml
@@ -84,9 +84,6 @@
-
diff --git a/vtm-android-example/src/org/oscim/android/test/OpenMapTilesGeojsonActivity.java b/vtm-android-example/src/org/oscim/android/test/OpenMapTilesGeojsonActivity.java
deleted file mode 100644
index c3fdeaf3..00000000
--- a/vtm-android-example/src/org/oscim/android/test/OpenMapTilesGeojsonActivity.java
+++ /dev/null
@@ -1,68 +0,0 @@
-/*
- * Copyright 2017 devemux86
- *
- * This program is free software: you can redistribute it and/or modify it under the
- * terms of the GNU Lesser General Public License as published by the Free Software
- * Foundation, either version 3 of the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful, but WITHOUT ANY
- * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
- * PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public License along with
- * this program. If not, see .
- */
-package org.oscim.android.test;
-
-import android.os.Bundle;
-
-import org.oscim.android.cache.TileCache;
-import org.oscim.layers.TileGridLayer;
-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.source.OkHttpEngine;
-import org.oscim.tiling.source.UrlTileSource;
-import org.oscim.tiling.source.geojson.OpenMapTilesGeojsonTileSource;
-
-public class OpenMapTilesGeojsonActivity extends MapActivity {
-
- private static final boolean USE_CACHE = false;
-
- private TileCache mCache;
-
- @Override
- public void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
-
- UrlTileSource tileSource = OpenMapTilesGeojsonTileSource.builder()
- .apiKey("xxxxxxx") // Put a proper API key
- .httpFactory(new OkHttpEngine.OkHttpFactory())
- //.locale("en")
- .build();
-
- if (USE_CACHE) {
- // Cache the tiles into a local SQLite database
- mCache = new TileCache(this, null, "tile.db");
- mCache.setCacheSize(512 * (1 << 10));
- tileSource.setCache(mCache);
- }
-
- VectorTileLayer l = mMap.setBaseMap(tileSource);
- mMap.setTheme(VtmThemes.OPENMAPTILES);
-
- mMap.layers().add(new BuildingLayer(mMap, l));
- mMap.layers().add(new LabelLayer(mMap, l));
-
- mMap.layers().add(new TileGridLayer(mMap, getResources().getDisplayMetrics().density));
- }
-
- @Override
- protected void onDestroy() {
- super.onDestroy();
-
- if (mCache != null)
- mCache.dispose();
- }
-}
diff --git a/vtm-android-example/src/org/oscim/android/test/Samples.java b/vtm-android-example/src/org/oscim/android/test/Samples.java
index ef7fdcd5..5200ee1a 100644
--- a/vtm-android-example/src/org/oscim/android/test/Samples.java
+++ b/vtm-android-example/src/org/oscim/android/test/Samples.java
@@ -84,7 +84,6 @@ public class Samples extends Activity {
/*linearLayout.addView(createButton(MapzenMvtActivity.class));
linearLayout.addView(createButton(MapzenGeojsonActivity.class));*/
linearLayout.addView(createButton(OpenMapTilesMvtActivity.class));
- linearLayout.addView(createButton(OpenMapTilesGeojsonActivity.class));
linearLayout.addView(createButton(GdxActivity.class));
linearLayout.addView(createLabel("Features"));
diff --git a/vtm-json/src/org/oscim/tiling/source/geojson/OpenMapTilesGeojsonTileSource.java b/vtm-json/src/org/oscim/tiling/source/geojson/OpenMapTilesGeojsonTileSource.java
deleted file mode 100644
index c8aa8e4e..00000000
--- a/vtm-json/src/org/oscim/tiling/source/geojson/OpenMapTilesGeojsonTileSource.java
+++ /dev/null
@@ -1,124 +0,0 @@
-/*
- * Copyright 2017 devemux86
- * Copyright 2017 Gustl22
- * Copyright 2018 boldtrn
- *
- * This program is free software: you can redistribute it and/or modify it under the
- * terms of the GNU Lesser General Public License as published by the Free Software
- * Foundation, either version 3 of the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful, but WITHOUT ANY
- * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
- * PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public License along with
- * this program. If not, see .
- */
-package org.oscim.tiling.source.geojson;
-
-import org.oscim.core.MapElement;
-import org.oscim.core.Tag;
-import org.oscim.tiling.source.UrlTileSource;
-import org.oscim.utils.math.MathUtils;
-
-import java.util.LinkedHashMap;
-import java.util.Map;
-
-public class OpenMapTilesGeojsonTileSource extends GeojsonTileSource {
-
- private final static String DEFAULT_URL = "https://free.tilehosting.com/data/v3";
- private final static String DEFAULT_PATH = "/{Z}/{X}/{Y}.geojson";
-
- public static class Builder> extends UrlTileSource.Builder {
- private String locale = "";
-
- public Builder() {
- super(DEFAULT_URL, DEFAULT_PATH, 1, 14);
- }
-
- public T locale(String locale) {
- this.locale = locale;
- return self();
- }
-
- public OpenMapTilesGeojsonTileSource build() {
- return new OpenMapTilesGeojsonTileSource(this);
- }
- }
-
- @SuppressWarnings("rawtypes")
- public static Builder> builder() {
- return new Builder();
- }
-
- private static Map mappings = new LinkedHashMap<>();
-
- private static Tag addMapping(String key, String val) {
- Tag tag = new Tag(key, val);
- mappings.put(key + "=" + val, tag);
- return tag;
- }
-
- private final String locale;
-
- public OpenMapTilesGeojsonTileSource(Builder> builder) {
- super(builder);
- this.locale = builder.locale;
- }
-
- public OpenMapTilesGeojsonTileSource() {
- this(builder());
- }
-
- public OpenMapTilesGeojsonTileSource(String urlString) {
- this(builder().url(urlString));
- }
-
- @Override
- public void decodeTags(MapElement mapElement, Map properties) {
- boolean hasName = false;
- String fallbackName = null;
-
- for (Map.Entry entry : properties.entrySet()) {
- String key = entry.getKey();
- Object value = entry.getValue();
- String val = (value instanceof String) ? (String) value : String.valueOf(value);
-
- if (key.startsWith(Tag.KEY_NAME)) {
- int len = key.length();
- if (len == 4) {
- fallbackName = val;
- continue;
- }
- if (len < 7)
- continue;
- if (locale.equals(key.substring(5))) {
- hasName = true;
- mapElement.tags.add(new Tag(Tag.KEY_NAME, val, false));
- }
- continue;
- }
-
- Tag tag = mappings.get(key + "=" + val);
- if (tag == null)
- tag = addMapping(key, val);
- mapElement.tags.add(tag);
- }
-
- if (!hasName && fallbackName != null)
- mapElement.tags.add(new Tag(Tag.KEY_NAME, fallbackName, false));
-
- // Calculate height of building parts
- if (!properties.containsKey(Tag.KEY_HEIGHT)) {
- if (properties.containsKey(Tag.KEY_VOLUME) && properties.containsKey(Tag.KEY_AREA)) {
- Object volume = properties.get(Tag.KEY_VOLUME);
- String volumeStr = (volume instanceof String) ? (String) volume : String.valueOf(volume);
- Object area = properties.get(Tag.KEY_AREA);
- String areaStr = (area instanceof String) ? (String) area : String.valueOf(area);
- float height = Float.parseFloat(volumeStr) / Float.parseFloat(areaStr);
- String heightStr = String.valueOf(MathUtils.round2(height));
- mapElement.tags.add(new Tag(Tag.KEY_HEIGHT, heightStr, false));
- }
- }
- }
-}
diff --git a/vtm-playground/src/org/oscim/test/OpenMapTilesGeojsonTest.java b/vtm-playground/src/org/oscim/test/OpenMapTilesGeojsonTest.java
deleted file mode 100644
index 3a09b51c..00000000
--- a/vtm-playground/src/org/oscim/test/OpenMapTilesGeojsonTest.java
+++ /dev/null
@@ -1,65 +0,0 @@
-/*
- * Copyright 2017 devemux86
- *
- * This program is free software: you can redistribute it and/or modify it under the
- * terms of the GNU Lesser General Public License as published by the Free Software
- * Foundation, either version 3 of the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful, but WITHOUT ANY
- * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
- * PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public License along with
- * this program. If not, see .
- */
-package org.oscim.test;
-
-import org.oscim.gdx.GdxMapApp;
-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.source.OkHttpEngine;
-import org.oscim.tiling.source.UrlTileSource;
-import org.oscim.tiling.source.geojson.OpenMapTilesGeojsonTileSource;
-
-import java.io.File;
-import java.util.UUID;
-
-import okhttp3.Cache;
-import okhttp3.OkHttpClient;
-
-public class OpenMapTilesGeojsonTest extends GdxMapApp {
-
- private static final boolean USE_CACHE = false;
-
- @Override
- public void createLayers() {
- OkHttpClient.Builder builder = new OkHttpClient.Builder();
- if (USE_CACHE) {
- // Cache the tiles into file system
- File cacheDirectory = new File(System.getProperty("java.io.tmpdir"), UUID.randomUUID().toString());
- int cacheSize = 10 * 1024 * 1024; // 10 MB
- Cache cache = new Cache(cacheDirectory, cacheSize);
- builder.cache(cache);
- }
- OkHttpEngine.OkHttpFactory factory = new OkHttpEngine.OkHttpFactory(builder);
-
- UrlTileSource tileSource = OpenMapTilesGeojsonTileSource.builder()
- .apiKey("xxxxxxx") // Put a proper API key
- .httpFactory(factory)
- //.locale("en")
- .build();
-
- VectorTileLayer l = mMap.setBaseMap(tileSource);
- mMap.setTheme(VtmThemes.OPENMAPTILES);
-
- mMap.layers().add(new BuildingLayer(mMap, l));
- mMap.layers().add(new LabelLayer(mMap, l));
- }
-
- public static void main(String[] args) {
- GdxMapApp.init();
- GdxMapApp.run(new OpenMapTilesGeojsonTest());
- }
-}