Following the sample code in the Backendless Android SDK Documentation - Geolocation - Search in Category, Search in Radius and Search in Rectangular Area I found you can’t search with getPoints() if there 2 (and perhaps more) elements set for meta data.
URLs of documents affected:
[[http://backendless.com/documentation/geo/android/geo_category_search.htm]]
Search in categories with metadata
[[http://backendless.com/documentation/geo/android/geo_radius_based_search.htm]]
Search in categories with radius and metadata
[[http://backendless.com/documentation/geo/android/geo_search_in_a_rectangular_area.htm]]
Search in categories in a rectangular area and metadata
To illustrate what I mean, I’ll create a GeoPoint below.
GeoPoint geoPoint = new GeoPoint();
geoPoint.setLatitude(41.38);
geoPoint.setLongitude(2.15);
geoPoint.addCategory(“Restaurants”);
geoPoint.addMetadata(“Cuisine”, “French”);
geoPoint.addMetadata(“Athmosphere”, “Romantic”); // by the way the correct spelling is Atmosphere
Backendless.Geo.savePoint(geoPoint);
Now using the following sample code,
[[http://backendless.com/documentation/geo/android/geo_search_in_a_rectangular_area.htm]]
Search in categories in a rectangular area and metadata
BackendlessGeoQuery geoQuery = new BackendlessGeoQuery();
geoQuery.addCategory( “Restaurants” );
HashMap<String, String> metaSearch = new HashMap<String, String>();
metaSearch.put( “Cuisine”, “French” );
metaSearch.put( “Athmosphere”, “Romantic” );
geoQuery.setMetadata( metaSearch );
I’ll get a result if I only specify one of the metadatas, but not both.
Also, the following code for setting the array of doubles needs correcting:
geoQuery.setSearchRectangle( new double[32.78, -96.8, 25.79, -80.22] );
==>
geoQuery.setSearchRectangle( new double[] {32.78, -96.8, 25.79, -80.22} );