Samples improvements #32
This commit is contained in:
parent
cedf3edc61
commit
02b29c7584
BIN
vtm-android-example/res/drawable-hdpi/marker_green.png
Normal file
BIN
vtm-android-example/res/drawable-hdpi/marker_green.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 3.2 KiB |
BIN
vtm-android-example/res/drawable-hdpi/marker_red.png
Normal file
BIN
vtm-android-example/res/drawable-hdpi/marker_red.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 3.5 KiB |
BIN
vtm-android-example/res/drawable-mdpi/marker_green.png
Normal file
BIN
vtm-android-example/res/drawable-mdpi/marker_green.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 1.9 KiB |
BIN
vtm-android-example/res/drawable-mdpi/marker_red.png
Normal file
BIN
vtm-android-example/res/drawable-mdpi/marker_red.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 2.1 KiB |
@ -18,8 +18,6 @@
|
||||
*/
|
||||
package org.oscim.android.test;
|
||||
|
||||
import android.graphics.drawable.Drawable;
|
||||
|
||||
import org.oscim.backend.canvas.Bitmap;
|
||||
import org.oscim.core.GeoPoint;
|
||||
import org.oscim.layers.marker.ItemizedLayer;
|
||||
@ -53,12 +51,8 @@ public class AtlasMarkerOverlayActivity extends MarkerOverlayActivity {
|
||||
mMap.layers().add(new LabelLayer(mMap, l));
|
||||
mMap.setTheme(VtmThemes.DEFAULT);
|
||||
|
||||
/* directly load bitmap from resources */
|
||||
Bitmap bitmapPoi = drawableToBitmap(getResources(), R.drawable.marker_poi);
|
||||
|
||||
/* another option: use some bitmap drawable */
|
||||
Drawable d = getResources().getDrawable(R.drawable.marker_focus);
|
||||
Bitmap bitmapFocus = drawableToBitmap(d);
|
||||
Bitmap bitmapPoi = drawableToBitmap(getResources().getDrawable(R.drawable.marker_poi));
|
||||
Bitmap bitmapFocus = drawableToBitmap(getResources().getDrawable(R.drawable.marker_focus));
|
||||
|
||||
// Create Atlas from Bitmaps
|
||||
java.util.Map<Object, Bitmap> inputMap = new LinkedHashMap<>();
|
||||
|
@ -48,7 +48,7 @@ public class ClusterMarkerOverlayActivity extends MarkerOverlayActivity {
|
||||
mMap.layers().add(new LabelLayer(mMap, l));
|
||||
mMap.setTheme(VtmThemes.DEFAULT);
|
||||
|
||||
Bitmap bitmapPoi = drawableToBitmap(getResources(), R.drawable.marker_poi);
|
||||
Bitmap bitmapPoi = drawableToBitmap(getResources().getDrawable(R.drawable.marker_poi));
|
||||
MarkerSymbol symbol;
|
||||
if (BILLBOARDS)
|
||||
symbol = new MarkerSymbol(bitmapPoi, MarkerSymbol.HotspotPlace.BOTTOM_CENTER);
|
||||
|
@ -17,7 +17,6 @@
|
||||
*/
|
||||
package org.oscim.android.test;
|
||||
|
||||
import android.graphics.drawable.Drawable;
|
||||
import android.widget.Toast;
|
||||
|
||||
import org.oscim.backend.canvas.Bitmap;
|
||||
@ -59,21 +58,18 @@ public class MarkerOverlayActivity extends SimpleMapActivity
|
||||
mMap.layers().add(new LabelLayer(mMap, l));
|
||||
mMap.setTheme(VtmThemes.DEFAULT);
|
||||
|
||||
/* directly load bitmap from resources */
|
||||
Bitmap bitmap = drawableToBitmap(getResources(), R.drawable.marker_poi);
|
||||
|
||||
Bitmap bitmapPoi = drawableToBitmap(getResources().getDrawable(R.drawable.marker_poi));
|
||||
MarkerSymbol symbol;
|
||||
if (BILLBOARDS)
|
||||
symbol = new MarkerSymbol(bitmap, HotspotPlace.BOTTOM_CENTER);
|
||||
symbol = new MarkerSymbol(bitmapPoi, HotspotPlace.BOTTOM_CENTER);
|
||||
else
|
||||
symbol = new MarkerSymbol(bitmap, HotspotPlace.CENTER, false);
|
||||
symbol = new MarkerSymbol(bitmapPoi, HotspotPlace.CENTER, false);
|
||||
|
||||
/* another option: use some bitmap drawable */
|
||||
Drawable d = getResources().getDrawable(R.drawable.marker_focus);
|
||||
Bitmap bitmapFocus = drawableToBitmap(getResources().getDrawable(R.drawable.marker_focus));
|
||||
if (BILLBOARDS)
|
||||
mFocusMarker = new MarkerSymbol(drawableToBitmap(d), HotspotPlace.BOTTOM_CENTER);
|
||||
mFocusMarker = new MarkerSymbol(bitmapFocus, HotspotPlace.BOTTOM_CENTER);
|
||||
else
|
||||
mFocusMarker = new MarkerSymbol(drawableToBitmap(d), HotspotPlace.CENTER, false);
|
||||
mFocusMarker = new MarkerSymbol(bitmapFocus, HotspotPlace.CENTER, false);
|
||||
|
||||
mMarkerLayer = new ItemizedLayer<>(mMap, new ArrayList<MarkerItem>(), symbol, this);
|
||||
mMap.layers().add(mMarkerLayer);
|
||||
|
@ -62,6 +62,8 @@ public class PoiSearchActivity extends MapsforgeMapActivity implements ItemizedL
|
||||
private static final String POI_CATEGORY = "Restaurants";
|
||||
private static final int SELECT_POI_FILE = MapsforgeMapActivity.SELECT_THEME_FILE + 1;
|
||||
|
||||
private ItemizedLayer<MarkerItem> mMarkerLayer;
|
||||
|
||||
public static class PoiFilePicker extends FilePicker {
|
||||
public PoiFilePicker() {
|
||||
setFileDisplayFilter(new FilterByFileExtension(".poi"));
|
||||
@ -98,6 +100,11 @@ public class PoiSearchActivity extends MapsforgeMapActivity implements ItemizedL
|
||||
}
|
||||
|
||||
POI_FILE = intent.getStringExtra(FilePicker.SELECTED_FILE);
|
||||
|
||||
Bitmap bitmap = drawableToBitmap(getResources().getDrawable(R.drawable.marker_green));
|
||||
MarkerSymbol symbol = new MarkerSymbol(bitmap, MarkerSymbol.HotspotPlace.BOTTOM_CENTER);
|
||||
mMarkerLayer = new ItemizedLayer<>(mMap, new ArrayList<MarkerItem>(), symbol, this);
|
||||
mMap.layers().add(mMarkerLayer);
|
||||
}
|
||||
}
|
||||
|
||||
@ -121,6 +128,9 @@ public class PoiSearchActivity extends MapsforgeMapActivity implements ItemizedL
|
||||
@Override
|
||||
public boolean onGesture(Gesture g, MotionEvent e) {
|
||||
if (g instanceof Gesture.LongPress) {
|
||||
// Clear overlays
|
||||
mMarkerLayer.removeAllItems();
|
||||
mMap.render();
|
||||
// POI search
|
||||
new PoiSearchTask(PoiSearchActivity.this, POI_CATEGORY).execute(mMap.getBoundingBox(0));
|
||||
return true;
|
||||
@ -146,7 +156,7 @@ public class PoiSearchActivity extends MapsforgeMapActivity implements ItemizedL
|
||||
persistenceManager = AndroidPoiPersistenceManagerFactory.getPoiPersistenceManager(POI_FILE);
|
||||
PoiCategoryManager categoryManager = persistenceManager.getCategoryManager();
|
||||
PoiCategoryFilter categoryFilter = new ExactMatchPoiCategoryFilter();
|
||||
categoryFilter.addCategory(categoryManager.getPoiCategoryByTitle(this.category));
|
||||
categoryFilter.addCategory(categoryManager.getPoiCategoryByTitle(category));
|
||||
org.mapsforge.core.model.BoundingBox bb = new org.mapsforge.core.model.BoundingBox(
|
||||
params[0].getMinLatitude(), params[0].getMinLongitude(),
|
||||
params[0].getMaxLatitude(), params[0].getMaxLongitude());
|
||||
@ -173,14 +183,10 @@ public class PoiSearchActivity extends MapsforgeMapActivity implements ItemizedL
|
||||
}
|
||||
|
||||
// Overlay POI
|
||||
Bitmap bitmap = drawableToBitmap(getResources(), R.drawable.marker_poi);
|
||||
MarkerSymbol symbol = new MarkerSymbol(bitmap, MarkerSymbol.HotspotPlace.CENTER);
|
||||
ItemizedLayer<MarkerItem> markerLayer = new ItemizedLayer<>(mMap, new ArrayList<MarkerItem>(), symbol, PoiSearchActivity.this);
|
||||
mMap.layers().add(markerLayer);
|
||||
List<MarkerItem> pts = new ArrayList<>();
|
||||
for (PointOfInterest pointOfInterest : pointOfInterests)
|
||||
pts.add(new MarkerItem(pointOfInterest.getName(), "", new GeoPoint(pointOfInterest.getLatitude(), pointOfInterest.getLongitude())));
|
||||
markerLayer.addItems(pts);
|
||||
mMarkerLayer.addItems(pts);
|
||||
mMap.render();
|
||||
}
|
||||
}
|
||||
|
@ -1,6 +1,6 @@
|
||||
/*
|
||||
* Copyright 2010, 2011, 2012 mapsforge.org
|
||||
* Copyright 2016 devemux86
|
||||
* Copyright 2016-2017 devemux86
|
||||
* Copyright 2017 Longri
|
||||
*
|
||||
* This file is part of the OpenScienceMap project (http://www.opensciencemap.org).
|
||||
@ -102,7 +102,7 @@ public final class AndroidGraphics extends CanvasAdapter {
|
||||
}
|
||||
|
||||
public static Bitmap drawableToBitmap(Resources res, int resId) {
|
||||
return new AndroidBitmap(res.openRawResource(resId));
|
||||
return drawableToBitmap(res.getDrawable(resId));
|
||||
}
|
||||
|
||||
/**
|
||||
|
Loading…
x
Reference in New Issue
Block a user