diff --git a/DataExtractionOSM/src/net/osmand/ToDoConstants.java b/DataExtractionOSM/src/net/osmand/ToDoConstants.java
index 5053e57851..caa328ff7d 100644
--- a/DataExtractionOSM/src/net/osmand/ToDoConstants.java
+++ b/DataExtractionOSM/src/net/osmand/ToDoConstants.java
@@ -1,9 +1,5 @@
package net.osmand;
-import java.io.File;
-import java.sql.SQLException;
-
-import net.osmand.data.preparation.IndexCreator;
/**
@@ -16,7 +12,6 @@ public class ToDoConstants {
// Current result : for big file (1 - task 60-80% time, 90% memory) (?) (+)
// 11. Index buildings using interpolations (from nodes) (+)
// ! 12. Reinvent UI of swing app (remove Region object and clear other MapObject) use indexes to show results
- // 13. Automative to index way nodes or not.
// TODO max 86
// ! 81. Add some objects to POI category (1) to add them into OSM 2) to help navigation)
@@ -24,19 +19,18 @@ public class ToDoConstants {
// railway( station, subway?) - issue 17
// TODO check network availability
- // TODO in IndexCreator and other files!
+ // TODO's in IndexCreator and other files!
// TODO BUGS:
// USA indexes
// ! VELCOM - competition (ppt)
- // ! search poi without gps !
+
// rotate map gps without location
// recalculating route when location is far from !
// ----- from site ---
// - 5 (?)
// - menu order (41)
- // - landscape view not reachable (39)
// - 81. (17)
// -- house tagging (31)
// --- go back to osmand (23)
@@ -44,10 +38,9 @@ public class ToDoConstants {
// --- add poi tags (44)
- // PRESENTS : mediamarkt, parfum, coffee, (al?), (om?), olia?
+ // PRESENTS : mediamarkt, parfum, coffee, (al-parfum), (om?), olia?
-
// Unscheduled (complex)
// 65. Intermediate points - for better control routing, to avoid traffic jams ...(?)
// 40. Support simple vector road rendering (require new index file) (?)
@@ -64,7 +57,6 @@ public class ToDoConstants {
// 85. Enable on/off screen for bike navigation (?)
// 83. Add monitoring service to send locations to internet (?)
-
// DONE ANDROID :
// 82. Rotate map according compass
// 85. Remove context menu on long press map ! Accumulate actions and show label (+)
@@ -73,14 +65,14 @@ public class ToDoConstants {
// 10. Improve address indexing (use relations). (+)
// use relation "a6" (to accumulate streets!), "a3" to read all cities & define boundaries for city (& define that street in city).
- public static void main(String[] args) throws SQLException, ClassNotFoundException {
- File dir = new File("e:\\Information\\OSM maps\\osm_batch_ind\\");
- Class.forName("org.sqlite.JDBC");
- for(File f : dir.listFiles()){
- if(f.getName().endsWith(".odb")){
- IndexCreator.removeWayNodes(f);
- }
- }
- }
+// public static void main(String[] args) throws SQLException, ClassNotFoundException {
+// File dir = new File("e:\\Information\\OSM maps\\osm_map\\!big!\\");
+// Class.forName("org.sqlite.JDBC");
+// for(File f : dir.listFiles()){
+// if(f.getName().endsWith(".odb")){
+// IndexCreator.removeWayNodes(f);
+// }
+// }
+// }
}
diff --git a/OsmAnd/res/values-ru/strings.xml b/OsmAnd/res/values-ru/strings.xml
index 12f0fa2e8e..82b815805f 100644
--- a/OsmAnd/res/values-ru/strings.xml
+++ b/OsmAnd/res/values-ru/strings.xml
@@ -83,7 +83,7 @@
Спасибо за то, что выбрали OsmAnd. \n
Для полноценного использования приложения вам потребуются файлы индексы, которые необходимо загрузить (Настройки/Данные) или подготовить. После загрузки вам будет доступен : поиск по адресу, поиск POI, поиск транспорта.
Поиск сигнала...
- Искать возле видимой карты
+ Искать вокруг выбранного центра карты
Искать рядом
По умолчанию
Портрет
diff --git a/OsmAnd/src/net/osmand/activities/EditPOIFilterActivity.java b/OsmAnd/src/net/osmand/activities/EditPOIFilterActivity.java
index c3fed2efba..bf91c9e9ed 100644
--- a/OsmAnd/src/net/osmand/activities/EditPOIFilterActivity.java
+++ b/OsmAnd/src/net/osmand/activities/EditPOIFilterActivity.java
@@ -8,12 +8,14 @@ import java.util.ArrayList;
import java.util.LinkedHashSet;
import java.util.List;
+import net.osmand.OsmandSettings;
import net.osmand.PoiFilter;
import net.osmand.PoiFiltersHelper;
import net.osmand.R;
import net.osmand.PoiFiltersHelper.PoiFilterDbHelper;
import net.osmand.activities.search.SearchPOIActivity;
import net.osmand.data.AmenityType;
+import net.osmand.osm.LatLon;
import android.app.AlertDialog;
import android.app.ListActivity;
import android.app.AlertDialog.Builder;
@@ -60,13 +62,38 @@ public class EditPOIFilterActivity extends ListActivity {
@Override
public void onClick(View v) {
Bundle extras = getIntent().getExtras();
- Intent newIntent = new Intent(EditPOIFilterActivity.this, SearchPOIActivity.class);
- newIntent.putExtra(SearchPOIActivity.AMENITY_FILTER, filter.getFilterId());
+ boolean searchNearBy = true;
+ LatLon lastKnownMapLocation = OsmandSettings.getLastKnownMapLocation(EditPOIFilterActivity.this);
+ double latitude = lastKnownMapLocation != null ? lastKnownMapLocation.getLatitude() : 0;
+ double longitude = lastKnownMapLocation != null ? lastKnownMapLocation.getLongitude() : 0;
+ final Intent newIntent = new Intent(EditPOIFilterActivity.this, SearchPOIActivity.class);
if(extras != null && extras.containsKey(SEARCH_LAT) && extras.containsKey(SEARCH_LON)){
- newIntent.putExtra(SearchPOIActivity.SEARCH_LAT, extras.getDouble(SEARCH_LAT));
- newIntent.putExtra(SearchPOIActivity.SEARCH_LON, extras.getDouble(SEARCH_LON));
+ latitude = extras.getDouble(SEARCH_LAT);
+ longitude = extras.getDouble(SEARCH_LON);
+ searchNearBy = false;
+ }
+ final double lat = latitude;
+ final double lon = longitude;
+ newIntent.putExtra(SearchPOIActivity.AMENITY_FILTER, filter.getFilterId());
+ if (searchNearBy) {
+ AlertDialog.Builder b = new AlertDialog.Builder(EditPOIFilterActivity.this);
+ b.setItems(new String[] { getString(R.string.search_nearby), getString(R.string.search_near_map) },
+ new DialogInterface.OnClickListener() {
+ @Override
+ public void onClick(DialogInterface dialog, int which) {
+ if (which == 1) {
+ newIntent.putExtra(SearchPOIActivity.SEARCH_LAT, lat);
+ newIntent.putExtra(SearchPOIActivity.SEARCH_LON, lon);
+ }
+ startActivity(newIntent);
+ }
+ });
+ b.show();
+ } else {
+ newIntent.putExtra(SearchPOIActivity.SEARCH_LAT, lat);
+ newIntent.putExtra(SearchPOIActivity.SEARCH_LON, lon);
+ startActivity(newIntent);
}
- startActivity(newIntent);
}
});
diff --git a/OsmAnd/src/net/osmand/activities/search/SearchPoiFilterActivity.java b/OsmAnd/src/net/osmand/activities/search/SearchPoiFilterActivity.java
index e932843f69..2cfad45ebc 100644
--- a/OsmAnd/src/net/osmand/activities/search/SearchPoiFilterActivity.java
+++ b/OsmAnd/src/net/osmand/activities/search/SearchPoiFilterActivity.java
@@ -7,11 +7,15 @@ import java.util.ArrayList;
import java.util.List;
import net.osmand.NameFinderPoiFilter;
+import net.osmand.OsmandSettings;
import net.osmand.PoiFilter;
import net.osmand.PoiFiltersHelper;
import net.osmand.R;
import net.osmand.activities.EditPOIFilterActivity;
+import net.osmand.osm.LatLon;
+import android.app.AlertDialog;
import android.app.ListActivity;
+import android.content.DialogInterface;
import android.content.Intent;
import android.graphics.Typeface;
import android.os.Bundle;
@@ -50,6 +54,10 @@ public class SearchPoiFilterActivity extends ListActivity {
searchNearBy = false;
latitude = extras.getDouble(SEARCH_LAT);
longitude = extras.getDouble(SEARCH_LON);
+ } else {
+ LatLon loc = OsmandSettings.getLastKnownMapLocation(this);
+ latitude = loc.getLatitude();
+ longitude = loc.getLongitude();
}
typeFace = Typeface.create((String)null, Typeface.ITALIC);
@@ -94,20 +102,30 @@ public class SearchPoiFilterActivity extends ListActivity {
showEditActivity(filter);
return;
}
-// AlertDialog.Builder b = new AlertDialog.Builder(this);
-// b.setItems(new String[]{getString(R.string.search_nearby), getString(R.string.search_near_map)}, new DialogInterface.OnClickListener(){
-// @Override
-// public void onClick(DialogInterface dialog, int which) {
-// }
-// });
-// b.show();
- Intent newIntent = new Intent(SearchPoiFilterActivity.this, SearchPOIActivity.class);
+ final Intent newIntent = new Intent(SearchPoiFilterActivity.this, SearchPOIActivity.class);
newIntent.putExtra(SearchPOIActivity.AMENITY_FILTER, filter.getFilterId());
- if(!searchNearBy){
+ if (searchNearBy) {
+ AlertDialog.Builder b = new AlertDialog.Builder(this);
+ b.setItems(new String[] { getString(R.string.search_nearby), getString(R.string.search_near_map) },
+ new DialogInterface.OnClickListener() {
+ @Override
+ public void onClick(DialogInterface dialog, int which) {
+ if (which == 1) {
+ newIntent.putExtra(SearchPOIActivity.SEARCH_LAT, latitude);
+ newIntent.putExtra(SearchPOIActivity.SEARCH_LON, longitude);
+ }
+ startActivityForResult(newIntent, 0);
+ }
+ });
+ b.show();
+ } else {
newIntent.putExtra(SearchPOIActivity.SEARCH_LAT, latitude);
newIntent.putExtra(SearchPOIActivity.SEARCH_LON, longitude);
+ startActivityForResult(newIntent, 0);
}
- startActivityForResult(newIntent, 0);
+
+
+
}