From 9da74014a4798fe8377135565d698e761c5a3832 Mon Sep 17 00:00:00 2001 From: Victor Shcherb Date: Sat, 2 May 2015 13:17:04 +0200 Subject: [PATCH 01/16] Small update (should have no effect) --- .../src/net/osmand/plus/activities/MapActivity.java | 11 ++++++----- .../src/net/osmand/plus/dashboard/DashboardOnMap.java | 1 - 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/OsmAnd/src/net/osmand/plus/activities/MapActivity.java b/OsmAnd/src/net/osmand/plus/activities/MapActivity.java index 1308f51cc5..5b508db73e 100644 --- a/OsmAnd/src/net/osmand/plus/activities/MapActivity.java +++ b/OsmAnd/src/net/osmand/plus/activities/MapActivity.java @@ -35,7 +35,6 @@ import net.osmand.plus.TargetPointsHelper; import net.osmand.plus.TargetPointsHelper.TargetPoint; import net.osmand.plus.Version; import net.osmand.plus.activities.search.SearchActivity; -import net.osmand.plus.activities.search.SearchAddressFragment; import net.osmand.plus.base.FailSafeFuntions; import net.osmand.plus.base.MapViewTrackingUtilities; import net.osmand.plus.dashboard.DashboardOnMap; @@ -199,13 +198,9 @@ public class MapActivity extends AccessibleActivity { System.err.println("OnCreate for MapActivity took " + (System.currentTimeMillis() - tm) + " ms"); } mapView.refreshMap(true); - dashboardOnMap.updateLocation(true, true, false); } private void checkAppInitialization() { - if (app.isApplicationInitializing() || DashboardOnMap.staticVisible) { - dashboardOnMap.setDashboardVisibility(true, DashboardOnMap.staticVisibleType); - } if (app.isApplicationInitializing()) { findViewById(R.id.init_progress).setVisibility(View.VISIBLE); initListener = new AppInitializeListener() { @@ -338,6 +333,12 @@ public class MapActivity extends AccessibleActivity { protected void onResume() { super.onResume(); long tm = System.currentTimeMillis(); + if (app.isApplicationInitializing() || DashboardOnMap.staticVisible) { + if(!dashboardOnMap.isVisible()) { + dashboardOnMap.setDashboardVisibility(true, DashboardOnMap.staticVisibleType); + } + } + dashboardOnMap.updateLocation(true, true, false); cancelNotification(); // fixing bug with action bar appearing on android 2.3.3 diff --git a/OsmAnd/src/net/osmand/plus/dashboard/DashboardOnMap.java b/OsmAnd/src/net/osmand/plus/dashboard/DashboardOnMap.java index fb9aaebf23..021e5d56b9 100644 --- a/OsmAnd/src/net/osmand/plus/dashboard/DashboardOnMap.java +++ b/OsmAnd/src/net/osmand/plus/dashboard/DashboardOnMap.java @@ -31,7 +31,6 @@ import net.osmand.plus.osmo.DashOsMoFragment; import net.osmand.plus.parkingpoint.DashParkingFragment; import net.osmand.plus.routing.RoutingHelper; import net.osmand.plus.views.DownloadedRegionsLayer; -import net.osmand.plus.views.MapInfoLayer; import net.osmand.plus.views.OsmandMapTileView; import android.annotation.SuppressLint; import android.app.Activity; From 9a036239c75ba502669476d967a5e225864d73f8 Mon Sep 17 00:00:00 2001 From: Victor Shcherb Date: Sat, 2 May 2015 15:44:20 +0200 Subject: [PATCH 02/16] Simplify layer structure make poi/favorites layers all the time present --- .../src/net/osmand/plus/OsmandSettings.java | 14 +--- .../osmand/plus/activities/MapActivity.java | 3 - .../plus/activities/MapActivityLayers.java | 21 +----- .../activities/search/SearchPOIActivity.java | 3 +- .../osmand/plus/dialogs/ConfigureMapMenu.java | 16 ++-- .../plus/helpers/WaypointDialogHelper.java | 2 +- .../osmand/plus/helpers/WaypointHelper.java | 2 +- .../plus/sherpafy/SherpafyCustomization.java | 8 +- .../net/osmand/plus/views/FavoritesLayer.java | 20 +++-- .../net/osmand/plus/views/POIMapLayer.java | 75 ++++++++++++------- 10 files changed, 75 insertions(+), 89 deletions(-) diff --git a/OsmAnd/src/net/osmand/plus/OsmandSettings.java b/OsmAnd/src/net/osmand/plus/OsmandSettings.java index 0c050a0efb..6604b478dd 100644 --- a/OsmAnd/src/net/osmand/plus/OsmandSettings.java +++ b/OsmAnd/src/net/osmand/plus/OsmandSettings.java @@ -747,9 +747,6 @@ public class OsmandSettings { - // this value string is synchronized with settings_pref.xml preference name - public final OsmandPreference SHOW_POI_OVER_MAP = new BooleanPreference("show_poi_over_map", false).makeGlobal(); - public final OsmandPreference SHOW_POI_LABEL = new BooleanPreference("show_poi_label", false).makeGlobal(); // this value string is synchronized with settings_pref.xml preference name @@ -925,7 +922,7 @@ public class OsmandSettings { public final OsmandPreference DEBUG_RENDERING_INFO = new BooleanPreference("debug_rendering", false).makeGlobal(); // this value string is synchronized with settings_pref.xml preference name - public final OsmandPreference SHOW_FAVORITES = new BooleanPreference("show_favorites", false).makeGlobal(); + public final OsmandPreference SHOW_FAVORITES = new BooleanPreference("show_favorites", false).makeGlobal().cache(); public final CommonPreference SHOW_ZOOM_BUTTONS_NAVIGATION = new BooleanPreference("show_zoom_buttons_navigation", false).makeProfile().cache(); { @@ -1672,15 +1669,8 @@ public class OsmandSettings { return settingsAPI.edit(globalPreferences).putString(LAST_SEARCHED_INTERSECTED_STREET, street).commit(); } - public static final String SELECTED_POI_FILTER_FOR_MAP = "selected_poi_filter_for_map"; //$NON-NLS-1$ - public boolean setPoiFilterForMap(String filterId) { - return settingsAPI.edit(globalPreferences).putString(SELECTED_POI_FILTER_FOR_MAP, filterId).commit(); - } - - public String getPoiFilterForMap(){ - return settingsAPI.getString(globalPreferences,SELECTED_POI_FILTER_FOR_MAP, null); - } + public final OsmandPreference SELECTED_POI_FILTER_FOR_MAP = new StringPreference("selected_poi_filter_for_map", null).makeGlobal().cache(); public static final String VOICE_PROVIDER_NOT_USE = "VOICE_PROVIDER_NOT_USE"; // this value string is synchronized with settings_pref.xml preference name diff --git a/OsmAnd/src/net/osmand/plus/activities/MapActivity.java b/OsmAnd/src/net/osmand/plus/activities/MapActivity.java index 5b508db73e..00b6be8f78 100644 --- a/OsmAnd/src/net/osmand/plus/activities/MapActivity.java +++ b/OsmAnd/src/net/osmand/plus/activities/MapActivity.java @@ -369,9 +369,6 @@ public class MapActivity extends AccessibleActivity { settings.APPLICATION_MODE.addListener(applicationModeListener); updateApplicationModeSettings(); - String filterId = settings.getPoiFilterForMap(); - PoiLegacyFilter poiFilter = app.getPoiFilters().getFilterById(filterId); - mapLayers.getPoiMapLayer().setFilter(poiFilter); // if destination point was changed try to recalculate route TargetPointsHelper targets = app.getTargetPointsHelper(); diff --git a/OsmAnd/src/net/osmand/plus/activities/MapActivityLayers.java b/OsmAnd/src/net/osmand/plus/activities/MapActivityLayers.java index ecbf20f467..3532e0e7a3 100644 --- a/OsmAnd/src/net/osmand/plus/activities/MapActivityLayers.java +++ b/OsmAnd/src/net/osmand/plus/activities/MapActivityLayers.java @@ -124,8 +124,10 @@ public class MapActivityLayers { // 2. osm bugs layer // 3. poi layer poiMapLayer = new POIMapLayer(activity); + mapView.addLayer(poiMapLayer, 3); // 4. favorites layer favoritesLayer = new FavoritesLayer(); + mapView.addLayer(favoritesLayer, 4); // 5. transport layer transportStopsLayer = new TransportStopsLayer(); // 5.5 transport info layer @@ -173,22 +175,6 @@ public class MapActivityLayers { mapView.removeLayer(transportStopsLayer); } } - - if(mapView.getLayers().contains(poiMapLayer) != settings.SHOW_POI_OVER_MAP.get()){ - if(settings.SHOW_POI_OVER_MAP.get()){ - mapView.addLayer(poiMapLayer, 3); - } else { - mapView.removeLayer(poiMapLayer); - } - } - - if(mapView.getLayers().contains(favoritesLayer) != settings.SHOW_FAVORITES.get()){ - if(settings.SHOW_FAVORITES.get()){ - mapView.addLayer(favoritesLayer, 4); - } else { - mapView.removeLayer(favoritesLayer); - } - } OsmandPlugin.refreshLayers(mapView, activity); } @@ -283,12 +269,11 @@ public class MapActivityLayers { activity.getMyApplication().getSettings().SEARCH_TAB.set(SearchActivity.POI_TAB_INDEX); activity.startActivity(search); } else { - getApplication().getSettings().setPoiFilterForMap(filterId); pf = poiFilters.getFilterById(filterId); if (pf != null) { pf.setFilterByName(pf.getSavedFilterByName()); } - poiMapLayer.setFilter(pf); + getApplication().getSettings().SELECTED_POI_FILTER_FOR_MAP.set(filterId); mapView.refreshMap(); if(selected != null && selected.length > 0) { selected[0] = pf; diff --git a/OsmAnd/src/net/osmand/plus/activities/search/SearchPOIActivity.java b/OsmAnd/src/net/osmand/plus/activities/search/SearchPOIActivity.java index caf8558594..d468d7f0ca 100644 --- a/OsmAnd/src/net/osmand/plus/activities/search/SearchPOIActivity.java +++ b/OsmAnd/src/net/osmand/plus/activities/search/SearchPOIActivity.java @@ -162,8 +162,7 @@ public class SearchPOIActivity extends OsmandListActivity implements OsmAndCompa public boolean onMenuItemClick(MenuItem item) { OsmandSettings settings = app.getSettings(); filter.setFilterByName(searchFilter.getText().toString().trim()); - settings.setPoiFilterForMap(filter.getFilterId()); - settings.SHOW_POI_OVER_MAP.set(true); + settings.SELECTED_POI_FILTER_FOR_MAP.set(filter.getFilterId()); if (location != null) { settings.setMapLocationToShow(location.getLatitude(), location.getLongitude(), 15); } diff --git a/OsmAnd/src/net/osmand/plus/dialogs/ConfigureMapMenu.java b/OsmAnd/src/net/osmand/plus/dialogs/ConfigureMapMenu.java index 2ce7d74f61..ab069c929a 100644 --- a/OsmAnd/src/net/osmand/plus/dialogs/ConfigureMapMenu.java +++ b/OsmAnd/src/net/osmand/plus/dialogs/ConfigureMapMenu.java @@ -92,7 +92,7 @@ public class ConfigureMapMenu { @Override public boolean onRowItemClick(ArrayAdapter adapter, View view, int itemId, int pos) { - if(itemId == R.string.layer_poi && cm.getSelection(pos) == 1) { + if(itemId == R.string.layer_poi) { selectPOILayer(ma.getMyApplication().getSettings()); return false; } else if(itemId == R.string.layer_gpx_layer && cm.getSelection(pos) == 1) { @@ -107,13 +107,10 @@ public class ConfigureMapMenu { public boolean onContextMenuClick(final ArrayAdapter adapter, int itemId, final int pos, boolean isChecked) { final OsmandSettings settings = ma.getMyApplication().getSettings(); if (itemId == R.string.layer_poi) { - settings.setPoiFilterForMap(null); - ma.getMapLayers().getPoiMapLayer().setFilter(null); - settings.SHOW_POI_OVER_MAP.set(isChecked); + settings.SELECTED_POI_FILTER_FOR_MAP.set(null); if (isChecked) { selectPOILayer(settings); } - } else if (itemId == R.string.layer_amenity_label) { settings.SHOW_POI_LABEL.set(isChecked); } else if (itemId == R.string.shared_string_favorites) { @@ -140,15 +137,12 @@ public class ConfigureMapMenu { } protected void selectPOILayer(final OsmandSettings settings) { - final PoiLegacyFilter[] selected = new PoiLegacyFilter[1]; + final PoiLegacyFilter[] selected = new PoiLegacyFilter[1]; AlertDialog dlg = ma.getMapLayers().selectPOIFilterLayer(ma.getMapView(), selected); dlg.setOnDismissListener(new DialogInterface.OnDismissListener() { - + @Override public void onDismiss(DialogInterface dialog) { - if(selected[0] == null) { - settings.SHOW_POI_OVER_MAP.set(selected[0] != null); - } ma.getDashboard().refreshContent(true); } }); @@ -161,7 +155,7 @@ public class ConfigureMapMenu { LayerMenuListener l = new LayerMenuListener(activity, adapter); adapter.item(R.string.shared_string_show).setCategory(true).layout(R.layout.drawer_list_sub_header).reg(); // String appMode = " [" + settings.getApplicationMode().toHumanString(view.getApplication()) +"] "; - adapter.item(R.string.layer_poi).selected(settings.SHOW_POI_OVER_MAP.get() ? 1 : 0) + adapter.item(R.string.layer_poi).selected(settings.SELECTED_POI_FILTER_FOR_MAP.get() != null ? 1 : 0) .iconColor(R.drawable.ic_action_info_dark).listen(l).reg(); adapter.item(R.string.layer_amenity_label).selected(settings.SHOW_POI_LABEL.get() ? 1 : 0) .iconColor(R.drawable.ic_action_text_dark).listen(l).reg(); diff --git a/OsmAnd/src/net/osmand/plus/helpers/WaypointDialogHelper.java b/OsmAnd/src/net/osmand/plus/helpers/WaypointDialogHelper.java index aa5fbf7ca2..1fd4e61e20 100644 --- a/OsmAnd/src/net/osmand/plus/helpers/WaypointDialogHelper.java +++ b/OsmAnd/src/net/osmand/plus/helpers/WaypointDialogHelper.java @@ -238,7 +238,7 @@ public class WaypointDialogHelper { private void selectPoi(final int[] running, final ArrayAdapter listAdapter, final int type, final boolean enable, Activity ctx) { if (ctx instanceof MapActivity && - !PoiLegacyFilter.CUSTOM_FILTER_ID.equals(app.getSettings().getPoiFilterForMap())) { + !PoiLegacyFilter.CUSTOM_FILTER_ID.equals(app.getSettings().SELECTED_POI_FILTER_FOR_MAP.get())) { MapActivity map = (MapActivity) ctx; final PoiLegacyFilter[] selected = new PoiLegacyFilter[1]; AlertDialog dlg = map.getMapLayers().selectPOIFilterLayer(map.getMapView(), selected); diff --git a/OsmAnd/src/net/osmand/plus/helpers/WaypointHelper.java b/OsmAnd/src/net/osmand/plus/helpers/WaypointHelper.java index 09ee905078..472a998064 100644 --- a/OsmAnd/src/net/osmand/plus/helpers/WaypointHelper.java +++ b/OsmAnd/src/net/osmand/plus/helpers/WaypointHelper.java @@ -592,7 +592,7 @@ public class WaypointHelper { /// public PoiLegacyFilter getPoiFilter() { - return app.getPoiFilters().getFilterById(app.getSettings().getPoiFilterForMap()); + return app.getPoiFilters().getFilterById(app.getSettings().SELECTED_POI_FILTER_FOR_MAP.get()); } public boolean showPOI() { return app.getSettings().SHOW_NEARBY_POI.get(); diff --git a/OsmAnd/src/net/osmand/plus/sherpafy/SherpafyCustomization.java b/OsmAnd/src/net/osmand/plus/sherpafy/SherpafyCustomization.java index 36d0dbb684..4f51ec62db 100644 --- a/OsmAnd/src/net/osmand/plus/sherpafy/SherpafyCustomization.java +++ b/OsmAnd/src/net/osmand/plus/sherpafy/SherpafyCustomization.java @@ -531,14 +531,14 @@ public class SherpafyCustomization extends OsmAndAppCustomization { R.string.menu_mute_on, R.string.menu_mute_off, R.string.where_am_i, R.string.context_menu_item_share_location); //poi - if (osmandSettings.SHOW_POI_OVER_MAP.get()) { + if (osmandSettings.SELECTED_POI_FILTER_FOR_MAP.get()!= null) { adapter.item(R.string.sherpafy_disable_poi).iconColor( R.drawable.ic_action_gremove_dark) .listen(new OnContextMenuClick() { @Override public boolean onContextMenuClick(ArrayAdapter adapter, int itemId, int pos, boolean isChecked) { - app.getSettings().SHOW_POI_OVER_MAP.set(false); - mapActivity.getMapLayers().updateLayers(mapActivity.getMapView()); + app.getSettings().SELECTED_POI_FILTER_FOR_MAP.set(null); + mapActivity.refreshMap(); return true; } }).reg(); @@ -548,8 +548,6 @@ public class SherpafyCustomization extends OsmAndAppCustomization { @Override public boolean onContextMenuClick(ArrayAdapter adapter, int itemId, int pos, boolean isChecked) { mapActivity.getMapLayers().selectPOIFilterLayer(mapActivity.getMapView(), null); - app.getSettings().SHOW_POI_OVER_MAP.set(true); - mapActivity.getMapLayers().updateLayers(mapActivity.getMapView()); return true; } }).reg(); diff --git a/OsmAnd/src/net/osmand/plus/views/FavoritesLayer.java b/OsmAnd/src/net/osmand/plus/views/FavoritesLayer.java index 59265268e8..b99a7ed8b7 100644 --- a/OsmAnd/src/net/osmand/plus/views/FavoritesLayer.java +++ b/OsmAnd/src/net/osmand/plus/views/FavoritesLayer.java @@ -15,6 +15,7 @@ import net.osmand.plus.ContextMenuAdapter; import net.osmand.plus.ContextMenuAdapter.OnContextMenuClick; import net.osmand.plus.FavouritesDbHelper; import net.osmand.plus.OsmAndFormatter; +import net.osmand.plus.OsmandSettings; import net.osmand.plus.R; import net.osmand.plus.activities.FavoritesTreeFragment; import net.osmand.plus.base.FavoriteImageDrawable; @@ -39,6 +40,8 @@ public class FavoritesLayer extends OsmandMapLayer implements ContextMenuLayer. private FavouritesDbHelper favorites; protected List cache = new ArrayList(); private MapTextLayer textLayer; + + private OsmandSettings settings; // private Bitmap d; @@ -61,7 +64,7 @@ public class FavoritesLayer extends OsmandMapLayer implements ContextMenuLayer. paint.setAntiAlias(true); paint.setFilterBitmap(true); paint.setDither(true); - + settings = view.getApplication().getSettings(); favorites = view.getApplication().getFavorites(); textLayer = view.getLayerByClass(MapTextLayer.class); // favoriteIcon = BitmapFactory.decodeResource(view.getResources(), R.drawable.poi_favourite); @@ -93,17 +96,20 @@ public class FavoritesLayer extends OsmandMapLayer implements ContextMenuLayer. @Override public void onPrepareBufferImage(Canvas canvas, RotatedTileBox tileBox, DrawSettings settings) { cache.clear(); - if (tileBox.getZoom() >= startZoom) { - // request to load - final QuadRect latLonBounds = tileBox.getLatLonBounds(); - for (LocationPoint o : getPoints()) { - drawPoint(canvas, tileBox, latLonBounds, o); + if (this.settings.SHOW_FAVORITES.get()) { + if (tileBox.getZoom() >= startZoom) { + // request to load + final QuadRect latLonBounds = tileBox.getLatLonBounds(); + for (LocationPoint o : getPoints()) { + drawPoint(canvas, tileBox, latLonBounds, o); + } + } - } if(textLayer.isVisible()) { textLayer.putData(this, cache); } + } diff --git a/OsmAnd/src/net/osmand/plus/views/POIMapLayer.java b/OsmAnd/src/net/osmand/plus/views/POIMapLayer.java index cdcc4608b2..264c9acf11 100644 --- a/OsmAnd/src/net/osmand/plus/views/POIMapLayer.java +++ b/OsmAnd/src/net/osmand/plus/views/POIMapLayer.java @@ -17,14 +17,18 @@ import net.osmand.osm.PoiType; import net.osmand.plus.ContextMenuAdapter; import net.osmand.plus.ContextMenuAdapter.OnContextMenuClick; import net.osmand.plus.OsmAndFormatter; +import net.osmand.plus.OsmandApplication; +import net.osmand.plus.OsmandSettings; import net.osmand.plus.R; import net.osmand.plus.activities.MapActivity; +import net.osmand.plus.poi.PoiFiltersHelper; import net.osmand.plus.poi.PoiLegacyFilter; import net.osmand.plus.render.RenderingIcons; import net.osmand.plus.resources.ResourceManager; import net.osmand.plus.routing.RoutingHelper; import net.osmand.plus.routing.RoutingHelper.IRouteInformationListener; import net.osmand.plus.views.MapTextLayer.MapTextProvider; +import net.osmand.util.Algorithms; import android.app.AlertDialog; import android.app.AlertDialog.Builder; import android.content.Intent; @@ -59,10 +63,16 @@ public class POIMapLayer extends OsmandMapLayer implements ContextMenuLayer.ICon // Work with cache (for map copied from AmenityIndexRepositoryOdb) private MapLayerData> data; + private OsmandSettings settings; + + private OsmandApplication app; + public POIMapLayer(final MapActivity activity) { routingHelper = activity.getRoutingHelper(); routingHelper.addListener(this); + settings = activity.getMyApplication().getSettings(); + app = activity.getMyApplication(); data = new OsmandMapLayer.MapLayerData>() { { ZOOM_THRESHOLD = 0; @@ -101,10 +111,6 @@ public class POIMapLayer extends OsmandMapLayer implements ContextMenuLayer.ICon }; } - public void setFilter(PoiLegacyFilter filter) { - this.filter = filter; - data.clearCache(); - } public void getAmenityFromPoint(RotatedTileBox tb, PointF point, List am) { List objects = data.getResults(); @@ -193,39 +199,50 @@ public class POIMapLayer extends OsmandMapLayer implements ContextMenuLayer.ICon @Override public void onPrepareBufferImage(Canvas canvas, RotatedTileBox tileBox, DrawSettings settings) { + if(!Algorithms.objectEquals(this.settings.SELECTED_POI_FILTER_FOR_MAP.get(), + filter == null ? null : filter.getFilterId())) { + if(this.settings.SELECTED_POI_FILTER_FOR_MAP.get() == null) { + this.filter = null; + } else { + PoiFiltersHelper pfh = app.getPoiFilters(); + this.filter = pfh.getFilterById(this.settings.SELECTED_POI_FILTER_FOR_MAP.get()); + } + data.clearCache(); + } List objects = Collections.emptyList(); - if (tileBox.getZoom() >= startZoom) { - data.queryNewData(tileBox); - objects = data.getResults(); - if (objects != null) { - int r = getRadiusPoi(tileBox); - for (Amenity o : objects) { - int x = (int) tileBox.getPixXFromLatLon(o.getLocation().getLatitude(), o.getLocation() - .getLongitude()); - int y = (int) tileBox.getPixYFromLatLon(o.getLocation().getLatitude(), o.getLocation() - .getLongitude()); - canvas.drawCircle(x, y, r, pointAltUI); - canvas.drawCircle(x, y, r, point); - String id = null; - PoiType st = o.getType().getPoiTypeByKeyName(o.getSubType()); - if (st != null) { - if (RenderingIcons.containsIcon(st.getIconKeyName())) { - id = st.getIconKeyName(); - } else if (RenderingIcons.containsIcon(st.getOsmTag() + "_" + st.getOsmValue())) { - id = st.getOsmTag() + "_" + st.getOsmValue(); + if (filter != null) { + if (tileBox.getZoom() >= startZoom) { + data.queryNewData(tileBox); + objects = data.getResults(); + if (objects != null) { + int r = getRadiusPoi(tileBox); + for (Amenity o : objects) { + int x = (int) tileBox.getPixXFromLatLon(o.getLocation().getLatitude(), o.getLocation() + .getLongitude()); + int y = (int) tileBox.getPixYFromLatLon(o.getLocation().getLatitude(), o.getLocation() + .getLongitude()); + canvas.drawCircle(x, y, r, pointAltUI); + canvas.drawCircle(x, y, r, point); + String id = null; + PoiType st = o.getType().getPoiTypeByKeyName(o.getSubType()); + if (st != null) { + if (RenderingIcons.containsIcon(st.getIconKeyName())) { + id = st.getIconKeyName(); + } else if (RenderingIcons.containsIcon(st.getOsmTag() + "_" + st.getOsmValue())) { + id = st.getOsmTag() + "_" + st.getOsmValue(); + } } - } - if (id != null) { - Bitmap bmp = RenderingIcons.getIcon(view.getContext(), id); - if (bmp != null) { - canvas.drawBitmap(bmp, x - bmp.getWidth() / 2, y - bmp.getHeight() / 2, paintIcon); + if (id != null) { + Bitmap bmp = RenderingIcons.getIcon(view.getContext(), id); + if (bmp != null) { + canvas.drawBitmap(bmp, x - bmp.getWidth() / 2, y - bmp.getHeight() / 2, paintIcon); + } } } } } } mapTextLayer.putData(this, objects); - } @Override From 44b3baaa1b83ce865d5cac1db519c66c4115e0a0 Mon Sep 17 00:00:00 2001 From: josep constanti Date: Sat, 2 May 2015 11:47:43 +0200 Subject: [PATCH 03/16] Translated using Weblate (Catalan) Currently translated at 67.9% (493 of 726 strings) --- OsmAnd/res/values-ca/phrases.xml | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/OsmAnd/res/values-ca/phrases.xml b/OsmAnd/res/values-ca/phrases.xml index 6ec9194dcd..33cfc743d0 100644 --- a/OsmAnd/res/values-ca/phrases.xml +++ b/OsmAnd/res/values-ca/phrases.xml @@ -507,4 +507,24 @@ Temple: mesquita Temple: sikhisme Temple budista + Temple hindú + Temple sintoista + Temple taoista + + Accés a internet: wifi + Accés a Internet : terminal + Accés a Internet : fil + Accés a Internet: públic + Accés a Internet : servei + + Monestir + Monestir històric + Creu de terme + Peto de ànimes + Informació turística + Rellotge + Agència de viatges + Mirador + Lloc d\'acampada + Acomodament de caravanes From 37ad933287b61477f61f173f53e479f59dd4014a Mon Sep 17 00:00:00 2001 From: ezjerry liao Date: Sat, 2 May 2015 11:56:20 +0200 Subject: [PATCH 04/16] Translated using Weblate (Chinese (Taiwan)) Currently translated at 39.6% (288 of 726 strings) --- OsmAnd/res/values-zh-rTW/phrases.xml | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/OsmAnd/res/values-zh-rTW/phrases.xml b/OsmAnd/res/values-zh-rTW/phrases.xml index a7c63e0857..801901c628 100644 --- a/OsmAnd/res/values-zh-rTW/phrases.xml +++ b/OsmAnd/res/values-zh-rTW/phrases.xml @@ -293,4 +293,17 @@ 草地 鐵路區域 + 運河 + 碼頭 + 監視器 + 天文台 + 天文觀測台 + + 通信基地台 + 雷達 + 施工中 + 工廠 + 礦井 + 坑道入口 + 油井 From ce79dcdf763b06da43d79e6b59b34cd7f86f6b56 Mon Sep 17 00:00:00 2001 From: Roberto GEB Date: Sat, 2 May 2015 13:16:03 +0200 Subject: [PATCH 05/16] Translated using Weblate (Spanish) Currently translated at 100.0% (726 of 726 strings) --- OsmAnd/res/values-es/phrases.xml | 62 ++++++++++++++++---------------- 1 file changed, 31 insertions(+), 31 deletions(-) diff --git a/OsmAnd/res/values-es/phrases.xml b/OsmAnd/res/values-es/phrases.xml index 510590500f..3bb807f987 100644 --- a/OsmAnd/res/values-es/phrases.xml +++ b/OsmAnd/res/values-es/phrases.xml @@ -326,11 +326,11 @@ Lugar de pesca Puerto Marina - Golf en miniatura + Minigolf Banco Parque acuático Parque - Parque de recreación + Zona recreativa Café Restaurante Comida rápida @@ -350,22 +350,22 @@ Pintor Fotógrafo Laboratorio fotográfico - Plomero + Fontanero Escultor Salón de belleza Peluquería Salón de masajes Salón de tatuajes Lavandería - Alquiler de auto + Alquiler de coches Sauna Burdel - Área de fumar - Mortuario + Área de fumadores + Morgue Crematorio Banco Cajero automático - Contador + Contable Entrada a cueva Volcán Cráter @@ -597,27 +597,27 @@ Patín de hielo Pista de baile - Balneario + Complejo turístico de playa Soporte de caza Parque infantil Piscina - Aldea verde + Zona verde - Patio de comidas + Plaza de comidas Agua potable Motores agrícolas Cestero Apicultor - Cervecero - Fabricante de botes + Cervecera + Fabricante de embarcaciones Encuadernador Catering Modista - Aislador + Aislamientos Yesero Montador Aserradero - Monta andamios + Montador de andamios Zapatero Albañil Sastre @@ -639,7 +639,7 @@ Pago de Bitcoin Pico de montaña - Sumidero + Sima Cascada Bahía Fiordo @@ -647,17 +647,17 @@ Valle Agua Humedal - Madera + Bosque Reserva natural Estrecho Isla Islote - Faro - Faro cardinal - Faro lateral - Faro de agua potable - Litera + Baliza + Baliza cardinal + Baliza lateral + Baliza de aguas seguras + Atraque Boya cardinal Boya de instalación Boya lateral @@ -700,13 +700,13 @@ Alguacil Esquí de travesía Trineo - Artesano de cerámica + Alfarería Techador Funeraria Cresta Anclaje - Faro de propósito especial - Edificio náutico notable + Baliza de propósito especial + Edificio náutico Distrito Tobogán de verano Acceso a Internet: terminal @@ -714,9 +714,9 @@ Fuente termal Complejo turístico - Cerveza al aire libre - Instalador de alfombras - Cristalero + Terraza + Instalador de moqueta + Vidriero Calefacción, ventilación, aire acondicionado Duplicación de llaves Construcciones de metal @@ -729,11 +729,11 @@ Alicatador Fábrica de ventanas - Reparación de computadoras - Guarnicionero + Montaje de computadoras + Collado Cabo Fondeadero - Señal de puente + Puente náutico Boya de peligro aislado Señal diurna Referencia terrestre @@ -763,6 +763,6 @@ Base naval militar Sitio de explosión nuclear Curling bávaro - Roca sobresaliente + Roca reseñable Pista From 6c80487bfe3c7804bdb2008b45fc4c3c53b562bf Mon Sep 17 00:00:00 2001 From: Victor Shcherb Date: Sat, 2 May 2015 20:37:56 +0200 Subject: [PATCH 06/16] Fix poi display with track --- .../osmand/binary/BinaryMapIndexReader.java | 46 +++++++++++-------- .../binary/BinaryMapPoiReaderAdapter.java | 8 ++-- 2 files changed, 30 insertions(+), 24 deletions(-) diff --git a/OsmAnd-java/src/net/osmand/binary/BinaryMapIndexReader.java b/OsmAnd-java/src/net/osmand/binary/BinaryMapIndexReader.java index 37b64ce3a2..73d1fd2dbc 100644 --- a/OsmAnd-java/src/net/osmand/binary/BinaryMapIndexReader.java +++ b/OsmAnd-java/src/net/osmand/binary/BinaryMapIndexReader.java @@ -4,6 +4,7 @@ package net.osmand.binary; import gnu.trove.list.array.TIntArrayList; import gnu.trove.map.TIntObjectMap; import gnu.trove.map.hash.TIntObjectHashMap; +import gnu.trove.map.hash.TLongObjectHashMap; import gnu.trove.set.hash.TIntHashSet; import java.io.BufferedInputStream; @@ -1419,7 +1420,7 @@ public class BinaryMapIndexReader { SearchPoiTypeFilter poiTypeFilter, ResultMatcher resultMatcher) { SearchRequest request = new SearchRequest(); float coeff = (float) (radius / MapUtils.getTileDistanceWidth(SearchRequest.ZOOM_TO_SEARCH_POI)); - TIntObjectHashMap> zooms = new TIntObjectHashMap>(); + TLongObjectHashMap> zooms = new TLongObjectHashMap>(); for(int i = 1; i < route.size(); i++) { Location cr = route.get(i); Location pr = route.get(i - 1); @@ -1433,7 +1434,7 @@ public class BinaryMapIndexReader { double bottomRightY = Math.max(ty, py) + coeff; for(int x = (int) topLeftX; x <= bottomRightX; x++) { for(int y = (int) topLeftY; y <= bottomRightY; y++) { - int hash = (x << SearchRequest.ZOOM_TO_SEARCH_POI) + y; + long hash = (((long)x) << SearchRequest.ZOOM_TO_SEARCH_POI) + y; if(!zooms.containsKey(hash)) { zooms.put(hash, new LinkedList()); } @@ -1444,14 +1445,14 @@ public class BinaryMapIndexReader { } } - int sleft = 0, sright = Integer.MAX_VALUE, stop = 0, sbottom = Integer.MAX_VALUE; - for(int vl : zooms.keys()) { - int x = (vl >> SearchRequest.ZOOM_TO_SEARCH_POI) << (31 - SearchRequest.ZOOM_TO_SEARCH_POI); - int y = (vl & ((1 << SearchRequest.ZOOM_TO_SEARCH_POI) -1)) << (31 - SearchRequest.ZOOM_TO_SEARCH_POI); - sleft = Math.min(x, sleft); - stop = Math.min(y, stop); - sbottom = Math.max(y, sbottom); - sright = Math.max(x, sright); + int sleft = Integer.MAX_VALUE , sright = 0, stop = Integer.MAX_VALUE, sbottom = 0; + for(long vl : zooms.keys()) { + long x = (vl >> SearchRequest.ZOOM_TO_SEARCH_POI) << (31 - SearchRequest.ZOOM_TO_SEARCH_POI); + long y = (vl & ((1 << SearchRequest.ZOOM_TO_SEARCH_POI) -1)) << (31 - SearchRequest.ZOOM_TO_SEARCH_POI); + sleft = (int) Math.min(x, sleft); + stop = (int) Math.min(y, stop); + sbottom = (int) Math.max(y, sbottom); + sright = (int) Math.max(x, sright); } request.radius = radius; request.left = sleft; @@ -1601,7 +1602,7 @@ public class BinaryMapIndexReader { // search on the path // stores tile of 16 index and pairs (even length always) of points intersecting tile - TIntObjectHashMap> tiles = null; + TLongObjectHashMap> tiles = null; double radius = -1; @@ -1631,9 +1632,9 @@ public class BinaryMapIndexReader { protected SearchRequest(){ } - public int getTileHashOnPath(double lat, double lon) { - int x = (int) MapUtils.getTileNumberX(SearchRequest.ZOOM_TO_SEARCH_POI, lon); - int y = (int) MapUtils.getTileNumberY(SearchRequest.ZOOM_TO_SEARCH_POI, lat); + public long getTileHashOnPath(double lat, double lon) { + long x = (int) MapUtils.getTileNumberX(SearchRequest.ZOOM_TO_SEARCH_POI, lon); + long y = (int) MapUtils.getTileNumberY(SearchRequest.ZOOM_TO_SEARCH_POI, lat); return (x << SearchRequest.ZOOM_TO_SEARCH_POI) | y; } @@ -1940,6 +1941,7 @@ public class BinaryMapIndexReader { private static boolean testMapSearch = false; private static boolean testAddressSearch = false; private static boolean testPoiSearch = false; + private static boolean testPoiSearchOnPath = true; private static boolean testTransportSearch = false; private static int sleft = MapUtils.get31TileNumberX(6.3); private static int sright = MapUtils.get31TileNumberX(6.5); @@ -1952,7 +1954,7 @@ public class BinaryMapIndexReader { } public static void main(String[] args) throws IOException { - RandomAccessFile raf = new RandomAccessFile("", "r"); + RandomAccessFile raf = new RandomAccessFile("/Users/victorshcherb/osmand/maps/Netherlands_europe_2.obf", "r"); BinaryMapIndexReader reader = new BinaryMapIndexReader(raf); println("VERSION " + reader.getVersion()); //$NON-NLS-1$ @@ -1969,11 +1971,15 @@ public class BinaryMapIndexReader { testTransportSearch(reader); } - if (testPoiSearch) { + if (testPoiSearch || testPoiSearchOnPath) { PoiRegion poiRegion = reader.getPoiIndexes().get(0); - testPoiSearch(reader, poiRegion); - testPoiSearchByName(reader); - testSearchOnthePath(reader); + if(testPoiSearch) { + testPoiSearch(reader, poiRegion); + testPoiSearchByName(reader); + } + if(testPoiSearchOnPath) { + testSearchOnthePath(reader); + } } println("MEMORY " + (Runtime.getRuntime().totalMemory() - Runtime.getRuntime().freeMemory())); //$NON-NLS-1$ @@ -1986,7 +1992,7 @@ public class BinaryMapIndexReader { long now = System.currentTimeMillis(); println("Searching poi on the path..."); final List locations = readGPX(new File( - "")); + "/Users/victorshcherb/osmand/maps/2015-03-07_19-07_Sat.gpx")); SearchRequest req = buildSearchPoiRequest(locations, radius, new SearchPoiTypeFilter() { @Override public boolean accept(PoiCategory type, String subcategory) { diff --git a/OsmAnd-java/src/net/osmand/binary/BinaryMapPoiReaderAdapter.java b/OsmAnd-java/src/net/osmand/binary/BinaryMapPoiReaderAdapter.java index a9b482b9ec..3e70018ccb 100644 --- a/OsmAnd-java/src/net/osmand/binary/BinaryMapPoiReaderAdapter.java +++ b/OsmAnd-java/src/net/osmand/binary/BinaryMapPoiReaderAdapter.java @@ -324,7 +324,7 @@ public class BinaryMapPoiReaderAdapter { LOG.info("Searched poi structure in "+(System.currentTimeMillis() - time) + - "ms. Found " + offKeys.length +" subtress"); + "ms. Found " + offKeys.length +" subtrees"); for (int j = 0; j < offKeys.length; j++) { codedIS.seek(offKeys[j] + indexOffset); int len = readInt(); @@ -482,7 +482,7 @@ public class BinaryMapPoiReaderAdapter { skipTiles.clear(); } LOG.info("Searched poi structure in "+(System.currentTimeMillis() - time) + - "ms. Found " + offsets.length +" subtress"); + "ms. Found " + offsets.length +" subtrees"); for (int j = 0; j < offsets.length; j++) { codedIS.seek(offsets[j] + indexOffset); int len = readInt(); @@ -866,8 +866,8 @@ public class BinaryMapPoiReaderAdapter { long l = ((((x << zoom) | y) << 5) | zoom); boolean read = true; if(req.tiles != null) { - int zx = x << (SearchRequest.ZOOM_TO_SEARCH_POI - zoom); - int zy = y << (SearchRequest.ZOOM_TO_SEARCH_POI - zoom); + long zx = x << (SearchRequest.ZOOM_TO_SEARCH_POI - zoom); + long zy = y << (SearchRequest.ZOOM_TO_SEARCH_POI - zoom); read = req.tiles.contains((zx << SearchRequest.ZOOM_TO_SEARCH_POI) + zy); } int offset = readInt(); From c8548ec75cbe87ab8246fa5846f59ca3bde41fb8 Mon Sep 17 00:00:00 2001 From: Hisham Omar Date: Sat, 2 May 2015 20:31:32 +0200 Subject: [PATCH 07/16] Translated using Weblate (Arabic) Currently translated at 52.6% (867 of 1647 strings) --- OsmAnd/res/values-ar/strings.xml | 75 ++++++++++++++++++++++---------- 1 file changed, 53 insertions(+), 22 deletions(-) diff --git a/OsmAnd/res/values-ar/strings.xml b/OsmAnd/res/values-ar/strings.xml index 79032e2f1a..ea4a72d975 100644 --- a/OsmAnd/res/values-ar/strings.xml +++ b/OsmAnd/res/values-ar/strings.xml @@ -1,4 +1,5 @@ -اظهر + +اظهر التقط صورة تسجيل الفيديو @@ -743,7 +744,7 @@ ملامح التطبيق أسئلة شائعة تقديم الخريطة - يرجى زيارة https://code.google.com/p/osmand/wiki/FAQ لرؤية الأسئلة المتداولة + يرجى زيارة https://code.google.com/p/osmand/wiki/FAQ لرؤية الأسئلة الشائعة. ستحذف %1$d من التغيرات .هل انت متأكد ؟ احذف الكل @@ -855,7 +856,7 @@ OsmAnd هو المصدر المفتوح و التي يجري تطويرها بن تظهر الإعدادات لتكوين مجموعة متنوعة من الخرائط عبر الإنترنت أو مؤقتا البلاط كما الخريطة الأساسية أو تراكب / خرائط الأساس الذي تقوم عليه. ويمكن أيضا أن هذه الخرائط تكون مستعدة حاليا ونسخها إلى مجلد OsmAnd - التغييرات POI داخل التطبيق لا تؤثر تحميل ملفات الخرائط، يتم حفظ التغييرات إلى ملف محلي بدلا + التغييرات POI داخل التطبيق لا تؤثرعلى ملفات الخرائط المحملة، يتم حفظ التغييرات إلى ملف محلي بدلا من ذلك. تحديد نوع الكاميرا الداخلية ,التركيز ↵ @@ -1073,14 +1074,14 @@ OsmAnd هو المصدر المفتوح و التي يجري تطويرها بن → السمة الشفافة - المكتبات الأصيلة غير مدعومة على هذا الجهاز + المكتبات الأصيلة غير مدعومة على هذا الجهاز. تهيئة المكتبة الأصيلة… عرض خريطة في المنتصف تلقائيًا الوقت حتى عرض خريطة بالتزامن مع الموضع الحالي ابدا مركز صناعة السيارات الوحيد - خريطة صناعة السيارات في مركز عرض فقط أثناء التنقل - توسيط عرض الخريطة الحالية تلقائيا + التوسيط التلقائي لعرض الخريطة فقط أثناء التنقل. + توسيط عرض الخريطة تلقائيا مفعل. خيارات محددةناقلات العارض غطاء/بطانة اعدادات مصدر الخريطة @@ -1105,11 +1106,11 @@ OsmAnd هو المصدر المفتوح و التي يجري تطويرها بن → → \ ن \ ر التحسينات الصغيرة ↵ → - لا يمكن اعادة تسمية الملف - يوجد بالفعل ملف بهذا الاسم + لا يمكن اعادة تسمية الملف. + يوجد بالفعل ملف بهذا الاسم. الطريق GPX - وجد عدةملفات POI قابلة للاستعمال - البيانات المحلية للبحث POI غير موجودة + وجد عدة تصنيفات POI توافق الاستعلام: + البيانات المحلية لبحث POI غير موجودة. البحث بالاسم ملف بيانات POI \'%1$s\' لا لزوم له ويمكن حذفه. ملف المحلية للحفاظ على التغييرات POI لم يتم العثور على وتعذر إنشاء. @@ -1120,11 +1121,11 @@ OsmAnd هو المصدر المفتوح و التي يجري تطويرها بن تشعبات على الانترنت يبحث عن الموضع… اسس موقف - عنوان - المفضلة + عنوان… + المفضلة… غير محدد - الوضع الحالى + الموقع الحالي… مشاركةعرض الخريطة بحث قريب بحث بالقرب من هنا @@ -1142,9 +1143,9 @@ OsmAnd هو المصدر المفتوح و التي يجري تطويرها بن → حفظ الطريق كمسار GPX - تم حفظ المسار بنجاح + تم حفظ المسار بنجاح ك \'%1$s\'. اسم الملف - يوجد ملف بنفس الاسم موجود مسبقا + يوجد ملف بنفس الاسم موجود مسبقا. حفظ رفع ملفات GPX إلى مجتمع OSM. ستستخدم لتحسين الخرائط. @@ -1154,14 +1155,14 @@ OsmAnd هو المصدر المفتوح و التي يجري تطويرها بن إظهار بعض تفاصيل الخريطة المتجهية (الطرق ...الخ) عند تقريبها أكثر حٌذفت النقطة المفضلة بنجاح. "أنت بصدد حذف %1$d نقطة مفضلة و٪2$d مجموعة مفضلات. هل أنت متأكد؟" - منزل + المنزل اصدقاء الاماكن اخرون اسم فئة لا"شكرا - خريطة العالم الأساسية (التي تغطي العالم كله في الأزيز صغيرة) مفقود. يرجى النظر تحميله World_basemap_x.obf للبيئة كاملة + خريطة العالم الأساسية (التي تغطي العالم كله بتقريب صغير) مفقودة. يرجى تحميل World_basemap_x.obf لبيئة كاملة. على متن (\'حاليا \') البيانات مفقود على بطاقة SD. يرجى النظر إلى تحميل البرنامج من اجل استخدام الخرائط دون اتصال. \n\nاضغط باستمرار لعرض الخيارات @@ -1226,10 +1227,10 @@ OsmAnd هو المصدر المفتوح و التي يجري تطويرها بن شفافية التراكب تعديل شفافية الخريطة القاعدة شفافية الخريطة القاعدة - الاساس الذي تقوم عليه الخريطة + خريطة تحتية… خريطة الاساس الذي تقوم عليها اختيار خريطة الاساس الذي تقوم عليه - خريطة تراكب + خريطة فوقية… لا شيء خريطة تراكب اختيار خريطة التراكب @@ -1301,7 +1302,7 @@ OsmAnd هو المصدر المفتوح و التي يجري تطويرها بن تغيير وحدات الطول والسرعة وحدة القياس ميل/قدم - ميل/ متر + ميل/ ياردة كيلومتر/متر ياردة قدم @@ -1435,7 +1436,7 @@ OsmAnd هو المصدر المفتوح و التي يجري تطويرها بن أبدًا تعذر العثور على الدليل المحدد. - دليل التخزين + مجلد تخزين البيانات هناك نسخة سابقة مثبّتة من OsmAnd. سوف تُنقل كل البيانات المُخزنة إلى التطبيق الجديد ما عدا النقاط المفضلة التي يجب عليك تصديرها من التطبيق القديم ثم استيرادها في التطبيق الجديد. تطبيق GPS Status غير مثبّت. هل تريد البحث عنه في المتجر؟ @@ -1444,4 +1445,34 @@ OsmAnd هو المصدر المفتوح و التي يجري تطويرها بن - \ No newline at end of file + هل ترغب أن يقوم OsmAnd بنسخ بياناته أيضا إلى المسار الجديد؟ + لم يمكن إنشاء الخرائط في المجلد المحدد + فشل نسخ الملفات + تخزين خارجي + تخزين متعدد المستخدمين + ذاكرة التطبيق الداخلية + محدد يدويا + الذاكرة الداخلية + تخزين الخريطة + نسخ + فلترة حسب الاسم + اكتب للبحث عن الجميع + فتح + مساعد OSM mapper + معلومات A-GPS + إدارة + تحرير + أماكن + بحث + عرض الوصف + رسالة + حمل الخرائط + لعرض إشارات وقواعد المرور بشكل صحيح، من فضلك اختر منطقة القيادة: + إضافة إلى المفضلة + المفضلة + يوما متأخرة + شاهد + لا تستخدم قواعد الإصدار 1.9 + نحو الشمال + البداية + From 61c47cda342fca737dc5aa3b16c76dbbe55a67c7 Mon Sep 17 00:00:00 2001 From: Matej U Date: Sat, 2 May 2015 20:42:05 +0200 Subject: [PATCH 08/16] Translated using Weblate (Slovenian) Currently translated at 97.9% (1614 of 1647 strings) --- OsmAnd/res/values-sl/strings.xml | 62 ++++++++++++++++++++++++-------- 1 file changed, 48 insertions(+), 14 deletions(-) diff --git a/OsmAnd/res/values-sl/strings.xml b/OsmAnd/res/values-sl/strings.xml index be240c51ee..0a04a32296 100644 --- a/OsmAnd/res/values-sl/strings.xml +++ b/OsmAnd/res/values-sl/strings.xml @@ -570,8 +570,8 @@ Mesto: %1$s\n%2$s "OsmAnd je navigacijska aplikacija s številnimi funkcijami. \n\nOsnovni uvod, nekaj uporabnih namigov in trikov je na voljo na povezavi z \'Meni\' → \'Pomoč\' na zaslonu zemljevida. " - Naprej - Nazaj + Naslednji + Predhodni Iskanje Usmerjenost zemljevida @@ -632,8 +632,8 @@ Razširitve dostopnosti Način dostopnosti Vklopi zmožnosti dostopnosti - Vklopljeno - Izklopljeno + Omogočeno + Onemogočeno Glede na splošne sistemske nastavitve Nazaj v meni Začni s samodejnimi najavami @@ -1610,7 +1610,7 @@ Seznam držav (praktično ves svet!): Afganistan, Albanija, Alžirija, Andora, A Dodaj kot ciljno točko Izberite GPX … Izberite cilj - Izberite na zemljevidu + Izberi na zemljevidu Priljubljene Od Android verzije 4.4 (KitKat) naprej, prenos posodobitev zemljevidov ni mogoč na prejšnjo mesto hrambe (%s). Ali želite to spremeniti na takšno mesto, kjer bo to mogoče in skopirati vse OsmAnd podatke tja? \n Opomba 1: stare datoteke ne bodo spremenjene (vendar jih lahko ročno izbrišete). @@ -1946,7 +1946,7 @@ Seznam držav (praktično ves svet!): Afganistan, Albanija, Alžirija, Andora, A Posodobitve Krajevno Prenos ni mogoč. Prosim, preverite vašo internetno povezavo. - Zapri + Opusti Vse datoteke posodobljene Uporabi HTTPS @@ -2010,19 +2010,19 @@ Seznam držav (praktično ves svet!): Afganistan, Albanija, Alžirija, Andora, A Segmenti sledi Točke sledi Ustvarjanje dejanja - Sprememba dejanja + Spreminjanje dejanja Brisanje dejanja - OSM urejanje - hminostaja Parkiranje časovno omejeno na - Vaše spremembe + Urejanje OSM + hminpreostalo je Parkiranje je časovno omejeno na + Vaša urejanja Seznam - Šir %1$s\n Dol %2$s - Pogosto zastavljena vprašanja, nedavne spremembe in ostalo + ZD (λ) %1$s\n ZŠ (β) %2$s + Pogosta vprašanja, nedavne spremembe in druge podrobnosti Nastavitve navigacije Splošne nastavitve Izbrano - Odstrani iz izbora + Odstrani izbiro Počisti izbor Izvozi Prišlo je do nepričakovane napake @@ -2045,8 +2045,42 @@ Seznam držav (praktično ves svet!): Afganistan, Albanija, Alžirija, Andora, A Odpri Sporočilo Dobrodošli - Pojdi + Začni prekoračen čas Kraji Poglej + Ali želite kopirati podatkovne datoteke tudi na novo ciljno mesto? + V navedeni mapi ni mogoče shraniti zemljevidov. + Kopiranje datotek je spodletelo + Zunanje mesto za shranjevanje + Shranjevanje za različne uporabnike + Notranji pomnilnik programa + Uporabniško določeno + Notranji pomnilnik + Mapa za shranjevanje + Kopiraj + Filtriraj po imenu + Vrsta za iskanje + Pomočnik OSM + Podrobnosti A-GPS + Upravljaj + Uredi + Poišči + Pokaži opis + Zadnja sovežitev podatkov A-GPS: %1$s + V mnogih državah (na primer v Nemčiji, Franciji, Italiji in drugih) je uporaba kamer za merjenje hitrosti prepovedana z zakonom. Razvijalci programa ne sprejemamo odgovornosti za tako rabo. Potrdite uporabo le, če ste res prepričani v svoje ravnanje. + Prejemanje zemljevidov + Za pravilno rabo prometnih znakov in predpisov izberite ustrezen prometni režim: + Program OsmAnd omogoča uporabo zemljevidov brez povezave in za navigacijo z dostopom do kakovostnih brezplačnih zemljevidov! + Trenutna pot + Spremembe nastavitev OSM so dodane med nastavitve + Označi za urejanje + Ime skupine mora biti daljše od 3 znakov! + Poslanih bo %1$d sprememb. Ali ste prepričani, da želite nadaljevati? + Ali želite počistiti zgodovino? + Začni vodenje od zavoja do zavoja po … + Obišči po + Obišči pred + Navidezno določi mesto + Ne uporabi From b77824919b58fcd32c0889f75122c5b8a50b351d Mon Sep 17 00:00:00 2001 From: Franco Date: Sat, 2 May 2015 16:43:30 +0200 Subject: [PATCH 09/16] Translated using Weblate (Spanish) Currently translated at 100.0% (726 of 726 strings) --- OsmAnd/res/values-es/phrases.xml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/OsmAnd/res/values-es/phrases.xml b/OsmAnd/res/values-es/phrases.xml index 3bb807f987..317d452ea1 100644 --- a/OsmAnd/res/values-es/phrases.xml +++ b/OsmAnd/res/values-es/phrases.xml @@ -365,7 +365,7 @@ Crematorio Banco Cajero automático - Contable + Contador Entrada a cueva Volcán Cráter @@ -566,7 +566,7 @@ Lugar de culto: sintoísta Lugar de culto: taoísta - Crucero + Cruz en el camino Ermita en el camino Géiser Camposanto @@ -639,7 +639,7 @@ Pago de Bitcoin Pico de montaña - Sima + Sumidero Cascada Bahía Fiordo @@ -715,7 +715,7 @@ Complejo turístico Terraza - Instalador de moqueta + Instalador de alfombras Vidriero Calefacción, ventilación, aire acondicionado Duplicación de llaves From 4b9541850259641de8ba21d47dc6e42d230b694d Mon Sep 17 00:00:00 2001 From: vshcherb Date: Sat, 2 May 2015 23:15:04 +0200 Subject: [PATCH 10/16] Update style.css --- OsmAnd/assets/style.css | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/OsmAnd/assets/style.css b/OsmAnd/assets/style.css index 31fdce9156..2078880de3 100644 --- a/OsmAnd/assets/style.css +++ b/OsmAnd/assets/style.css @@ -1,14 +1,19 @@ body{padding:0; margin:0; } a {color:#536DFE;} - .main{width:480px; margin:0 auto; font-family:arial; font-size:11pt;} + xmp{white-space: pre-wrap;} + .main{ margin:0 auto; font-family:arial; font-size:11pt;} + .main{width:95%;} + xmp{max-width:95%;} + .code{font-style:italic;} + .list li{padding-bottom:10px; color:#000; } .list li a{ text-decoration:none;} .subtitle{border-bottom:1px solid #F3F3F3; font-size:13pt; margin-top:10px; font-weight:bold;} .blocksubtitle{font-weight:bold; margin-top:10px;} h1{background-color:#FF8F00; font-size:15pt; color:#fff; padding-left:15px; padding-top:30px; padding-bottom:15px; font-weight:bold; -webkit-border-radius: 4px;-moz-border-radius: 4px;border-radius: 4px; margin-top:-5px;} - .content{padding:15px;} + .content{padding:15px; padding-top:5px;} .content ul{padding-left:20px;} /************home page*****************/ .mainlist{list-style-type: none; margin:0; padding:0;} @@ -24,8 +29,10 @@ .toc .list li{color:#D2D2D2;} .toc .subtitle{font-weight:normal;} - .screenshot{max-width:100%; max-height:100%;} - .imgcontainer{margin:30px; padding:7px; border:1px solid #ddd;} + .screenshot{max-width:95%; max-height:100%; padding:7px; border:1px solid #ddd;} + .imgcontainer{margin:20px 30px;} + .legendcontainer{margin:0;} + .legend{width:100%;} /*div {border-width: 1px; padding: 10px; border: groove; margin-left:auto;margin-right:auto; width:480pt} h3.help { text-align: center} From ada5b090edf97b90f1ca27f8009d715d76a4bc6c Mon Sep 17 00:00:00 2001 From: Hisham Omar Date: Sat, 2 May 2015 21:45:45 +0200 Subject: [PATCH 11/16] Translated using Weblate (Arabic) Currently translated at 55.9% (921 of 1647 strings) --- OsmAnd/res/values-ar/strings.xml | 61 +++++++++++++++++++++++++++++--- 1 file changed, 57 insertions(+), 4 deletions(-) diff --git a/OsmAnd/res/values-ar/strings.xml b/OsmAnd/res/values-ar/strings.xml index ea4a72d975..a883c19ff3 100644 --- a/OsmAnd/res/values-ar/strings.xml +++ b/OsmAnd/res/values-ar/strings.xml @@ -613,7 +613,7 @@ \n\t* إصلاح العديد من العلل الظل - تراكب الظّل + ظل المرتفعات فوقي التّغييرات في 1.1.2: \n\t* تحسينات في ملحق الصّوت و الصّورة (صور مع بيانات EXIF) \n\t* مُلحق يضبط الاستعمال الثّاني و يعيد هيكلة الخطوط المحيطية @@ -854,7 +854,7 @@ OsmAnd هو المصدر المفتوح و التي يجري تطويرها بن قائمة البلدان المدعومة ( أساسا في جميع أنحاء العالم ! ) : ↵ أفغانستان ، ألبانيا ، الجزائر ، أندورا ، أنغولا ، أنغيلا ، أنتيغوا و بربودا، الأرجنتين، أرمينيا، أروبا، أستراليا ، النمسا ، أذربيجان ، جزر البهاما، البحرين ، بنغلاديش ، بربادوس، بيلاروس ، بلجيكا، بليز، بنن ، برمودا ، بوتان ، بوليفيا ، بونير ، البوسنة و الهرسك ، بوتسوانا ، البرازيل ، جزر فيرجين البريطانية ، بروناي ، بلغاريا ، بوركينا فاسو، بوروندي ، كمبوديا ، الكاميرون، كندا، الرأس الأخضر ، جمهورية أفريقيا الوسطى ، تشاد ، شيلي ، الصين ، كولومبيا ، جزر القمر، الكونغو ، كوستاريكا وساحل العاج و كرواتيا وكوبا و جزر الأنتيل ، قبرص ، جمهورية التشيك ، الدنمارك ، جيبوتي ، دومينيكا ، جمهورية الدومينيكان ، الإكوادور ، مصر ، السلفادور ، غينيا الاستوائية ، إريتريا ، إستونيا ، إثيوبيا ، فيجي ، فنلندا ، فرنسا ، غيانا الفرنسية، الفرنسية بولينيزيا، الغابون ، غامبيا ، جورجيا ، ألمانيا، غانا ، جبل طارق، اليونان ، جرينلاند ، وغرينادا ، جوادلوب ، وغوام ، وغواتيمالا، غيرنسي ، وغينيا ، وغينيا بيساو ، وغيانا، وهايتي، و الفاتيكان ، وهندوراس، هونغ كونغ ، هنغاريا، آيسلندا ، الهند ، إندونيسيا ، إيران ، العراق ، ايرلندا ، جزيرة مان ، اسرائيل، ايطاليا ، جامايكا ، اليابان ، جيرسي، الأردن ، كازاخستان، كينيا ، كيريباتي ، كوريا الشمالية وكوريا الجنوبية، الكويت ، قرغيزستان ، لاوس ، لاتفيا، لبنان ، ليسوتو ، ليبيريا ، ليبيا ، ليختنشتاين، ليتوانيا ، لوكسمبورغ، ماكاو ، مقدونيا ، مدغشقر ، ملاوي ، ماليزيا ، جزر المالديف ، مالي ، مالطا ، مارتينيك، موريتانيا ، موريشيوس ، مايوت ، المكسيك ، ميكرونيزيا، مولدوفا ، موناكو ، ومنغوليا، الجبل الأسود ، ومونتسيرات، و المغرب وموزامبيق ، ميانمار ، ناميبيا ، ناورو ، نيبال، هولندا ، جزر الأنتيل الهولندية ، كاليدونيا الجديدة، نيوزيلندا ، نيكاراغوا ، النيجر ، نيجيريا ، النرويج، عمان، باكستان ، بالاو، الأراضي الفلسطينية ، بنما ، بابوا غينيا الجديدة ، باراغواي ، بيرو ، الفلبين ، بولندا ، البرتغال ، بورتوريكو، قطر ، رومانيا ، روسيا ، رواندا ، سانت بارتيليمي ، وسانت هيلانة ، وسانت كيتس و نيفيس ، سانت لوسيا ، وسانت مارتن ، وسانت بيير و ميكلون، سانت فنسنت وجزر غرينادين ، ساموا ، سان مارينو ، المملكة العربية السعودية، السنغال ، صربيا ، سيشيل ، سيراليون ، سنغافورة ، سلوفاكيا ، سلوفينيا ، الصومال ، جنوب أفريقيا ، جورجيا الجنوبية ، وجنوب السودان، أسبانيا، سري ل انكا، السودان، سورينام ، سوازيلاند ، السويد، سويسرا، سوريا، تايوان ، طاجيكستان ، تنزانيا ، تايلاند ، وتيمور الشرقية ، وتوغو ، وتوكيلاو ، وتونغا ، وترينيداد و توباغو، تونس، تركيا ، تركمانستان ، توفالو، أوغندا ، أوكرانيا ، الإمارات العربية المتحدة ، المملكة المتحدة (UK ) ، الولايات المتحدة الأمريكية (USA) ، أوروغواي ، أوزبكستان ، فانواتو ، فنزويلا ، فيتنام ، واليس و فوتونا، الصحراء الغربية ، اليمن ، زامبيا ، زيمبابوي. ↵ - تظهر الإعدادات لتكوين مجموعة متنوعة من الخرائط عبر الإنترنت أو مؤقتا البلاط كما الخريطة الأساسية أو تراكب / خرائط الأساس الذي تقوم عليه. ويمكن أيضا أن هذه الخرائط تكون مستعدة حاليا ونسخها إلى مجلد OsmAnd + "عن طريق هذه الإضافة يمكنك الوصول إلى أنواع عديدة من الخرائط الحية (مسبقة التجهيز)، بدءا من خرائط Openstreetmap مسبقة التجهيز (مثل Mapnik) إلى صور الأقمار الصناعية والطبقات محددة الغرض مثل خرائط الطقس، وخرائط المناخ، والخرائط الجيولوجية،،، إلخ.\n\nأي من هذه الخرائط يمكن استخدامه كخريطة أساسية (قاعدة) لعرضها على واجهة خريطة OsmAnd، أو كخريطة فوقية أو تحتية لخريطة أساسية أخرى (مثل خرائط أوسمند العادية). ولكي تجعل أي خريطة تحتية أكثر ظهورا، فيمكنك إخفاء عناصر محددة من خرائط OsmAnd المتجهية عن طريق قائمة \'ضبط الخريطة\' كما ترغب.\n\nالخرائط مسبقة التجهيز يمكن الحصول عليها إما مباشرة من مصادر أونلاين، أو يمكن تجهيزها للاستخدام بدون اتصال (ونسخها يدويا إلى مجلد بيانات OsmAnd) بصيغة قواعد بيانات sqlite والتي يمكن إنشاؤها من خلال أدوات خارجية متوفرة ومتنوعة لإعداد الخرائط. " التغييرات POI داخل التطبيق لا تؤثرعلى ملفات الخرائط المحملة، يتم حفظ التغييرات إلى ملف محلي بدلا من ذلك. تحديد نوع الكاميرا الداخلية ,التركيز @@ -1232,7 +1232,7 @@ OsmAnd هو المصدر المفتوح و التي يجري تطويرها بن اختيار خريطة الاساس الذي تقوم عليه خريطة فوقية… لا شيء - خريطة تراكب + خريطة فوقية اختيار خريطة التراكب يتم الاحتفاظ بكافة العلامات الاخري سيمارك @@ -1475,4 +1475,57 @@ OsmAnd هو المصدر المفتوح و التي يجري تطويرها بن لا تستخدم قواعد الإصدار 1.9 نحو الشمال البداية - + آخر ما تحميله من بيانات A-GPS: %1$s + OsmAnd يوفر تصفح خرائط عالمي بدون اتصال، وكذلك تنقل عالمي بدون اتصال! + أهلا + الطريق الحالي + اختر للحذف + اسم المجموعة ينبغي أن يكون 3 أحرف على الأقل! + هل ترغب في حذف السجلات؟ + ذهاب + تأخر + يسار + تعديلاتك + زيارة بعد + زيارة قبل + محاكاة الموقع الخاص بك + العرض %1$s\nالطول %2$s + الأسئلة الشائعة، التغييرات الحديثة، وأخرى + إعدادات التنقل + إعدادات عامة + + موافق + تجاهل + لا تستخدم + تفعيل + تعطيل + مفعل + معطل + محدد + محدد + أبداً + السجلات + حدد على الخريطة + تحديد الكل + قم بإلغاء تحديد + قم بإلغاء تحديد الكل + مسح الكل + مشاركة + استيراد + تصدير + أكثر… + تحديث + تحميل + تم التحميل بنجاح + حدث خطأ غير متوقع + الإجراء {0} + إغلاق + عرض + عرض الكل + مفضلة + المفضلة + عنوان + موقعي + مفضلاتي + مساراتي + From 89795e93b4401e5bc6a2f4d432d138124078fb15 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Piotr=20Sok=C3=B3=C5=82?= Date: Sat, 2 May 2015 23:12:44 +0200 Subject: [PATCH 12/16] Translated using Weblate (Polish) Currently translated at 99.9% (1646 of 1647 strings) --- OsmAnd/res/values-pl/strings.xml | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/OsmAnd/res/values-pl/strings.xml b/OsmAnd/res/values-pl/strings.xml index d866d44005..48f9dca6ec 100644 --- a/OsmAnd/res/values-pl/strings.xml +++ b/OsmAnd/res/values-pl/strings.xml @@ -128,8 +128,8 @@ Dla bieżącej lokalizacji dostępna jest wektorowa mapa offline. \n\t\n\tAby jej użyć, proszę wybrać „Menu” → „Konfiguruj mapę” → „Źródło mapy…” → „Wektorowe mapy offline”. - Wyjście głosu nawigatora - Wybierz kanał do odtwarzania głosu nawigatora (zależne od możliwości systemu) + Wyjście dźwięku nawigacji głosowej + Określa kanał odtwarzania nawigacji głosowej (zależne od systemu) Kanał głosowy Kanał powiadomień Kanał media/music @@ -279,8 +279,8 @@ Wybierz, którą kompilację OsmAnd zainstalować Specialne opcje dla wersji \"contribution\" Nie zainstalowano aplikacji GPS status. Wyszukać ją w Market? - Głos nawigatora nie jest dostępny. Przejdź do \'Ustawienia\'→\'Ogólne\'→\'Nawigacja głosowa\', wybierz ulubiony zestaw i zainstaluj go. - Nie wybrano głosu nawigatora + Nawigacja głosowa jest niedostępna. Proszę przejść do „Ustawienia”→„Ogólne”→„Nawigacja głosowa”, wybrać zestaw poleceń głosowych i zainstalować go. + Nie wybrano nawigacji głosowej Dzień Noc Wschód/zachód Słońca @@ -395,8 +395,8 @@ Filtr Wyłącz dźwięk Włącz dźwięk - Wybierz głos nawigatora - Głos nawigatora + Wybiera głos wskazówek nawigatora + Nawigacja głosowa Inicjowanie danych głosowych… Niewspierana wersja danych głosowych Wybrane dane z głosem są uszkodzone @@ -536,7 +536,7 @@ Automatyczne przybliżanie mapy w zależności od prędkości (gdy mapa zsynchronizowana jest z aktualną pozycją) Automatyczne przybliżanie Dodatkowe ustawienia - Widok mapy i ustawienia nawigacji zapamiętywane są dla każdego profilu użytkownika. Ustaw swój domyślny profil. + Ustala domyślny profil widoku mapy i ustawień nawigacji Domyślny profil Ustawienia Zapisz bieżący ślad na karcie SD @@ -710,7 +710,7 @@ Rozwój OsmAnd Renderowanie natywne - Przetestuj podpowiedzi głosowe + Przetestuj komunikaty głosowe "Zmiany w 0.7.2: \n\t- Natywne renderowanie dla wszystkich urządzeń \n\t- Edytowanie POI w trybie offline @@ -828,8 +828,8 @@ Oceania Mapy świata i tematyczne Wikipedia dla POI - Wskazówki głosowe (nagrane, ograniczone możliwości) - Wskazówki głosowe (TTS, zalecane) + Komunikaty głosowe (nagrane, ograniczone możliwości) + Komunikaty głosowe (TTS, zalecane) Wikipedia (offline) Własne Plik z poprzednio wyeksportowanymi ulubionymi już istnieje. Nadpisać go? @@ -1065,7 +1065,7 @@ Tylko mapy samochodowe Samochodowe Tylko mapy samochodowe - Uruchom program w trybie bezpiecznym (używa wolniejszego kodu Androida zamiast natywnego). + Uruchamia program w trybie bezpiecznym (używa wolniejszego kodu Androida zamiast natywnego) Tryb bezpieczny Program działa w trybie bezpiecznym (wyłącz go w ustawieniach). Usługa w tle jest nadal aktywna. Zatrzymać ją także? @@ -1645,8 +1645,8 @@ Afganistan, Afryka Południowa, Albania, Algieria, Andora, Angola, Anguilla, Ant Adresy krajowe Podstawowa mapa świata Światowa mapa tras narciarskich - Przerwij muzykę podczas komunikatów - Przerwij muzykę + Przerywa odtwarzanie muzyki podczas komunikatów + Przerywanie muzyki Pozycja w centrum wyświetlacza Głos Różne @@ -1979,7 +1979,7 @@ Afganistan, Afryka Południowa, Albania, Algieria, Andora, Angola, Anguilla, Ant Linia współrzędnych x\" W urządzeniu Pobieranie niemożliwe. Proszę sprawdzić połączenie internetowe. - Wskazówki głosowe + Komunikaty głosowe Przejazd kolejowy Przejście dla pieszych Pokazuj przejazdy kolejowe From 55a6ffa313939057d5457afdfe09bebfdca56d1f Mon Sep 17 00:00:00 2001 From: Matej U Date: Sat, 2 May 2015 21:15:32 +0200 Subject: [PATCH 13/16] Translated using Weblate (Slovenian) Currently translated at 98.0% (1615 of 1647 strings) --- OsmAnd/res/values-sl/strings.xml | 51 ++++++++++++++++---------------- 1 file changed, 26 insertions(+), 25 deletions(-) diff --git a/OsmAnd/res/values-sl/strings.xml b/OsmAnd/res/values-sl/strings.xml index 0a04a32296..dcaf583565 100644 --- a/OsmAnd/res/values-sl/strings.xml +++ b/OsmAnd/res/values-sl/strings.xml @@ -24,7 +24,7 @@ DDD.DD DDD MM.MM DDD MM SS.SS - Prikaži na karti + Pokaži na zemljevidu Izberi naslov Regija @@ -55,7 +55,7 @@ Točke ni mogoče najti ali pa usluga ni samostojna točka Brisanje {0} (vpišite komentar)? Briši POI - Briši + Izbriši POI je bila uspešno izbrisana Dodajanje Popravljanje @@ -111,7 +111,7 @@ Uporabi kompas, ko ni mogoče določiti smeri Uporabi kompas Izogibanje avtocest - Izhod + Končaj Prikaži GPS koordinate na karti @@ -264,7 +264,7 @@ Indeksiranje karte … Indeksiranje POI … Indeksiranje javnih prevozov … - I/O napaka + Prišlo je do V/I napake! km km/h m @@ -544,7 +544,7 @@ Ni elementov za %1$s Nameravate %1$s %2$s elementov. Ali nadaljujem? Ponovno naloži iz SD kartice - Prenos + Prejmi Podatki zemljevida Izklopljen Podatki javnih prevozov @@ -909,7 +909,7 @@ Yandex promet Ni priljubljenih točk za shranjevanje Pot - Priljubljeni + Priljubljene OSM hrošči Postaje prevoza POI … @@ -993,7 +993,7 @@ Prenesti {0} - {1}? Krajevni podatki za {0} že obstajajo ({1}). Ali jih želite posodobiti ({2})? Naslov - Prenos uspešen + Prejem uspešno končan Prenašanje seznama razpoložljivih območij … Seznam območij ni bil pridobljen iz osmand.net. @@ -1117,7 +1117,7 @@ Predvajaj Snemanje %1$s %3$s %2$s Snemanje - Ustavi + Zaustavi Zvočni zapisi OsmAnd vtičnik za izohipse brez povezave @@ -1147,7 +1147,7 @@ Zbriši posnetek Zvok/video se snema. Za ustavitev pritisnite gumb ustavi na pripomočku. Plast posnetkov - Posnetek + Začni Snemanje videa @@ -1230,7 +1230,7 @@ Izberite naslov Izberite priljubljeno Spremembe OSM - Druge aktivnosti + Več dejavnosti Uporabi magnetno tipalo Ostalo Preostalo še %1$d datotek @@ -1247,7 +1247,7 @@ Točka Ime datoteke GPX Datoteka GPX uspešno shranjena v {0} - Ne prikaži več + Ne pokaži več Začni urejati Končaj urejanje Počisti vse točke @@ -1282,7 +1282,7 @@ Tema aplikacije Možnosti dostopnosti Podatki izohips - Prenašanje + Poteka prejemanje * Pritisnite za označitev točke.\n * Pritisnite in držite na zemljevidu za brisanje prejšnje točke.\n * Pritisnite in držite na točki za ogled ali dodajanje opisa.\n * Kliknite na vtičnik za meritve za prikaz več dejanj. OsmAnd (OSM Automated Navigation Directions - Avtomatsko usmerjanje), je zemljevid in program za navigacijo z dostopom do svetovnih brezplačnih, zelo kakovostnih OpenStreetMap (OSM) podatkov. Vse podatke map je mogoče shraniti na pomnilniško kartico vašega telefona za uporabo brez povezave. OsmAnd ponuja usmerjanje preko GPS-a vaše naprave, s prikazom na ekranu in glasovno, za avto, kolo in pešce. Vse glavne funkcije delujejo tako v povezavi kot brez nje (internet ni potreben). @@ -1512,7 +1512,7 @@ Seznam držav (praktično ves svet!): Afganistan, Albanija, Alžirija, Andora, A Povečava zemljevida Na srednje razdalje Na kratke razdalje - Zapomni si mojo izbiro + Zapomni si izbiro Najprej je treba preračunati pot Preizkusi s podatki izračunane poti @@ -1611,7 +1611,7 @@ Seznam držav (praktično ves svet!): Afganistan, Albanija, Alžirija, Andora, A Izberite GPX … Izberite cilj Izberi na zemljevidu - Priljubljene + Priljubljena Od Android verzije 4.4 (KitKat) naprej, prenos posodobitev zemljevidov ni mogoč na prejšnjo mesto hrambe (%s). Ali želite to spremeniti na takšno mesto, kjer bo to mogoče in skopirati vse OsmAnd podatke tja? \n Opomba 1: stare datoteke ne bodo spremenjene (vendar jih lahko ročno izbrišete). \n Opomba 2: v novem mestu shrambe si aplikaciji OsmAnd and OsmAnd+ ne bosta mogli deliti podatkov. @@ -1722,8 +1722,8 @@ Seznam držav (praktično ves svet!): Afganistan, Albanija, Alžirija, Andora, A %1$s \nTočk Sled GPX je prazna - Vse sledi - Moji kraji + Shranjene sledi + Shranjeni kraji Uporabnik %1$s se je pridružil skupini %2$s Uporabnik %1$s je zapustil skupino %2$s @@ -1756,9 +1756,9 @@ Seznam držav (praktično ves svet!): Afganistan, Albanija, Alžirija, Andora, A %1$s \nSled %2$s - Moji priljubljeni + Priljubljeni kraji Priljubljeni deljeni preko OsmAnd-a - Deli + Objavi Shraniti kot GPX datoteko ali uvoziti med priljubljene? Cilj @@ -1953,7 +1953,7 @@ Seznam držav (praktično ves svet!): Afganistan, Albanija, Alžirija, Andora, A Na voljo je %1$s posodobitev zemljevidov Išči - PRIKAŽI VSE + Pokaži vse Koordinate Postajališča Za izris uporabi OpenGL @@ -1982,7 +1982,7 @@ Seznam držav (praktično ves svet!): Afganistan, Albanija, Alžirija, Andora, A Zasebnost Točke - Moja lokacija + Trenutno mesto Upravljaj Omogoči HTTP Proxy Konfiguriranje HTTP Proxy-ja za vse omrežne zahteve @@ -2007,7 +2007,7 @@ Seznam držav (praktično ves svet!): Afganistan, Albanija, Alžirija, Andora, A "Prosto %1$s " Pomnilnik naprave Teptanje smučarskih prog - Segmenti sledi + Odsek sledi Točke sledi Ustvarjanje dejanja Spreminjanje dejanja @@ -2022,12 +2022,12 @@ Seznam držav (praktično ves svet!): Afganistan, Albanija, Alžirija, Andora, A Splošne nastavitve Izbrano - Odstrani izbiro - Počisti izbor + Počisti izbiro + Počisti izbiro vsega Izvozi - Prišlo je do nepričakovane napake + Prišlo je do nepričakovane napake! Dejanje {0} - Skrči + Zloži Trenutno beležena sled Zvok Video @@ -2083,4 +2083,5 @@ Seznam držav (praktično ves svet!): Afganistan, Albanija, Alžirija, Andora, A Obišči pred Navidezno določi mesto Ne uporabi + Naslov From 8becf921d24b30e1299e870ebb4567be29adebd4 Mon Sep 17 00:00:00 2001 From: josep constanti Date: Sat, 2 May 2015 21:04:17 +0200 Subject: [PATCH 14/16] Translated using Weblate (Catalan) Currently translated at 69.1% (502 of 726 strings) --- OsmAnd/res/values-ca/phrases.xml | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/OsmAnd/res/values-ca/phrases.xml b/OsmAnd/res/values-ca/phrases.xml index 33cfc743d0..39a8f2bf0d 100644 --- a/OsmAnd/res/values-ca/phrases.xml +++ b/OsmAnd/res/values-ca/phrases.xml @@ -527,4 +527,14 @@ Mirador Lloc d\'acampada Acomodament de caravanes + Font + Guèiser + Cementiri + Cementiri + Tomba + Cobert + Funicular + Centre turístic + + Club d\'astronomia From 2493f0005a7404ca91dbe7b50523866015e4022d Mon Sep 17 00:00:00 2001 From: Victor Shcherb Date: Sat, 2 May 2015 23:30:24 +0200 Subject: [PATCH 15/16] Update poi reader --- .../binary/BinaryMapPoiReaderAdapter.java | 62 ++++++++++++------- 1 file changed, 39 insertions(+), 23 deletions(-) diff --git a/OsmAnd-java/src/net/osmand/binary/BinaryMapPoiReaderAdapter.java b/OsmAnd-java/src/net/osmand/binary/BinaryMapPoiReaderAdapter.java index 3e70018ccb..fb16882d3f 100644 --- a/OsmAnd-java/src/net/osmand/binary/BinaryMapPoiReaderAdapter.java +++ b/OsmAnd-java/src/net/osmand/binary/BinaryMapPoiReaderAdapter.java @@ -21,11 +21,9 @@ import net.osmand.binary.BinaryMapIndexReader.SearchRequest; import net.osmand.binary.OsmandOdb.OsmAndPoiNameIndex.OsmAndPoiNameIndexData; import net.osmand.data.Amenity; import net.osmand.data.Amenity.AmenityRoutePoint; -import net.osmand.data.AmenityType; import net.osmand.data.LatLon; import net.osmand.osm.MapPoiTypes; import net.osmand.osm.PoiCategory; -import net.osmand.osm.PoiType; import net.osmand.util.Algorithms; import net.osmand.util.MapUtils; import net.sf.junidecode.Junidecode; @@ -40,6 +38,7 @@ public class BinaryMapPoiReaderAdapter { public static final int SHIFT_BITS_CATEGORY = 7; private static final int CATEGORY_MASK = (1 << SHIFT_BITS_CATEGORY) - 1 ; + private static final int ZOOM_TO_SKIP_FILTER_READ = 6; private static final int ZOOM_TO_SKIP_FILTER = 3; private static final int BUCKET_SEARCH_BY_NAME = 5; @@ -451,10 +450,8 @@ public class BinaryMapPoiReaderAdapter { int indexOffset = codedIS.getTotalBytesRead(); long time = System.currentTimeMillis(); TLongHashSet skipTiles = null; - int zoomToSkip = 31; if(req.zoom != -1){ skipTiles = new TLongHashSet(); - zoomToSkip = req.zoom + ZOOM_TO_SKIP_FILTER; } int length ; int oldLimit ; @@ -481,13 +478,27 @@ public class BinaryMapPoiReaderAdapter { if(skipTiles != null){ skipTiles.clear(); } - LOG.info("Searched poi structure in "+(System.currentTimeMillis() - time) + - "ms. Found " + offsets.length +" subtrees"); + LOG.info("Searched poi structure in " + (System.currentTimeMillis() - time) + " ms. Found " + + offsets.length + " subtrees"); for (int j = 0; j < offsets.length; j++) { + long skipVal = offsetsMap.get(offsets[j]); + if (skipTiles != null && skipVal != -1) { + int dzoom = ZOOM_TO_SKIP_FILTER_READ - ZOOM_TO_SKIP_FILTER; + long dx = (skipVal >> ZOOM_TO_SKIP_FILTER_READ); + long dy = skipVal - (dx << ZOOM_TO_SKIP_FILTER_READ); + skipVal = ((dx >> dzoom) << ZOOM_TO_SKIP_FILTER) | (dy >> dzoom); + if (skipVal != -1 && skipTiles.contains(skipVal)) { + continue; + } + } codedIS.seek(offsets[j] + indexOffset); int len = readInt(); int oldLim = codedIS.pushLimit(len); - readPoiData(left31, right31, top31, bottom31, req, region, skipTiles, zoomToSkip); + boolean read = readPoiData(left31, right31, top31, bottom31, req, region, skipTiles, + req.zoom == -1 ? 31 : req.zoom + ZOOM_TO_SKIP_FILTER ); + if(read && skipVal != -1 && skipTiles != null) { + skipTiles.add(skipVal); + } codedIS.popLimit(oldLim); if(req.isCancelled()){ return; @@ -542,20 +553,21 @@ public class BinaryMapPoiReaderAdapter { } } - private void readPoiData(int left31, int right31, int top31, int bottom31, + private boolean readPoiData(int left31, int right31, int top31, int bottom31, SearchRequest req, PoiRegion region, TLongHashSet toSkip, int zSkip) throws IOException { int x = 0; int y = 0; int zoom = 0; + boolean read = false; while(true){ if(req.isCancelled()){ - return; + return read; } int t = codedIS.readTag(); int tag = WireFormat.getTagFieldNumber(t); switch (tag) { case 0: - return; + return read; case OsmandOdb.OsmAndPoiBoxData.X_FIELD_NUMBER : x = codedIS.readUInt32(); break; @@ -574,19 +586,21 @@ public class BinaryMapPoiReaderAdapter { if (toSkip != null) { int xp = (int) MapUtils.getTileNumberX(zSkip, am.getLocation().getLongitude()); int yp = (int) MapUtils.getTileNumberY(zSkip, am.getLocation().getLatitude()); - long val = (((long) xp) << zSkip) | yp; - if (!toSkip.contains(val)) { + long valSkip = (((long) xp) << zSkip) | yp; + if (!toSkip.contains(valSkip)) { boolean publish = req.publish(am); if(publish) { - toSkip.add(val); + read = true; + toSkip.add(valSkip); } - } - if(zSkip <= zoom){ + } else if(zSkip <= zoom){ codedIS.skipRawBytes(codedIS.getBytesUntilLimit()); - return; + return read; } } else { - req.publish(am); + if(req.publish(am)) { + read = true; + } } } break; @@ -788,9 +802,10 @@ public class BinaryMapPoiReaderAdapter { } private boolean readBoxField(int left31, int right31, int top31, int bottom31, - int px, int py, int pzoom, TIntLongHashMap offsetsMap, TLongHashSet skipTiles, SearchRequest req, PoiRegion region) throws IOException { + int px, int py, int pzoom, TIntLongHashMap offsetsMap, TLongHashSet skipTiles, + SearchRequest req, PoiRegion region) throws IOException { req.numberOfReadSubtrees++; - int zoomToSkip = req.zoom + ZOOM_TO_SKIP_FILTER; + int zoomToSkip = req.zoom == -1 ? 31 : req.zoom + ZOOM_TO_SKIP_FILTER_READ; boolean checkBox = true; boolean existsCategories = false; int zoom = pzoom; @@ -863,7 +878,6 @@ public class BinaryMapPoiReaderAdapter { case OsmandOdb.OsmAndPoiBox.SHIFTTODATA_FIELD_NUMBER: { int x = dx + (px << (zoom - pzoom)); int y = dy + (py << (zoom - pzoom)); - long l = ((((x << zoom) | y) << 5) | zoom); boolean read = true; if(req.tiles != null) { long zx = x << (SearchRequest.ZOOM_TO_SEARCH_POI - zoom); @@ -872,11 +886,13 @@ public class BinaryMapPoiReaderAdapter { } int offset = readInt(); if (read) { - offsetsMap.put(offset, l); if (skipTiles != null && zoom >= zoomToSkip) { - long val = ((((long) x) >> (zoom - zoomToSkip)) << zoomToSkip) + long valSkip = ((((long) x) >> (zoom - zoomToSkip)) << zoomToSkip) | (((long) y) >> (zoom - zoomToSkip)); - skipTiles.add(val); + offsetsMap.put(offset, valSkip); + skipTiles.add(valSkip); + } else { + offsetsMap.put(offset, -1); } } } break; From c6989bd6308b8780cecd533b42e2c4c4912d16e7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Piotr=20Sok=C3=B3=C5=82?= Date: Sat, 2 May 2015 23:30:28 +0200 Subject: [PATCH 16/16] Translated using Weblate (Polish) Currently translated at 99.9% (1646 of 1647 strings) --- OsmAnd/res/values-pl/strings.xml | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/OsmAnd/res/values-pl/strings.xml b/OsmAnd/res/values-pl/strings.xml index 48f9dca6ec..edd132e1b0 100644 --- a/OsmAnd/res/values-pl/strings.xml +++ b/OsmAnd/res/values-pl/strings.xml @@ -1536,7 +1536,7 @@ Afganistan, Afryka Południowa, Albania, Algieria, Andora, Angola, Anguilla, Ant Motocykl Łódź Samolot - Rysowanie mapy + Renderowanie mapy Profile aplikacji Wybierz używane profile widoczne w aplikacji Żeglugowy znak orientacyjny @@ -1804,7 +1804,7 @@ Afganistan, Afryka Południowa, Albania, Algieria, Andora, Angola, Anguilla, Ant Wybierz aby wyświetlić Wejdź do grupy przez zaproszenie " - Wszystkie utworzone grupy są publiczne! Jeśli chcesz być anonimowy, podłącz urządzenia bezpośrednio poprzez identyfikator Tracker id.\n - Prywatne grupy są ograniczone do 8 osób.\n - W przypadku bezczynności lub aktywności tylko 1 osoby przez okres 2 tygodni, grupa zostanie usunięta.\n - Można ograniczyć dostęp do grupy przez zapraszanie tylko wybranych osób, ale do zarządzania grupą potrzebujesz użyć konsoli administracyjnej.\n - Jeśli trzeba utworzyć grupę, ale z innymi warunkami, prosimy o kontakt http://osmo.mobi" - Przeczytaj przed założeniem grupy! + Proszę przeczytać przed założeniem grupy! Nie udało się zalogować do OsMo Pobrano %1$s punktów OsMo. Automatycznie połącz to serwisu po uruchomieniu programu @@ -1812,8 +1812,8 @@ Afganistan, Afryka Południowa, Albania, Algieria, Andora, Angola, Anguilla, Ant Serwis OsMo Pobrano %1$s ścieżek OsMo. Nie znaleziono pobranych danych, proszę sprawdzić połączenie internetowe. - Błąd autoryzacji - Wystąpił błąd autoryzacji OsMo: %1$s.\n To może być przerwa w działaniu usługi lub twoja rejestracja straciła ważność.\n Chcesz kontynuować z nową rejestracją? + Nie udało się uwierzytelnić + Wystąpił błąd uwierzytelnienia OsMo: %1$s.\n To może być wina przerwy w działaniu usługi lub rejestracja użytkownika straciła ważność.\n Kontynuować z nową rejestracją? Utrzymuj Wyłącz Włącz tryb uśpienia GPS @@ -1841,10 +1841,10 @@ Afganistan, Afryka Południowa, Albania, Algieria, Andora, Angola, Anguilla, Ant Więcej szczegółów Mniej szczegółów Ukryj ograniczenia dostępu - Pokaż ograniczenia dostępu - Pokaż jakość dróg - Pokaż nawierzchnię dróg - Pokaż ścieżki rowerowe + Ograniczenia dostępu + Jakość dróg + Nawierzchnia dróg + Ścieżki rowerowe Albański Arabski Perski @@ -1928,7 +1928,7 @@ Afganistan, Afryka Południowa, Albania, Algieria, Andora, Angola, Anguilla, Ant Pasek statusu Prawy panel Lewy panel - Wyświetl + Wyświetlanie Skonfiguruj mapę W odległości Włącz ekran @@ -1950,7 +1950,7 @@ Afganistan, Afryka Południowa, Albania, Algieria, Andora, Angola, Anguilla, Ant Ekran startowy Dostępne aktualizacje dla %1$s map - Wyszukaj + Wyszukiwanie WYŚWIETL WSZYSTKIE Współrzędne