I have read a few of the other people’s problems to try and correct this one, but I keep getting null returned from the metadata. I create a new GeoPoint like this:
List<String> categories = new ArrayList<String>();
categories.add(“john_family”);
Map<String, Object> meta = new HashMap<String, Object>();
meta.put(“name”, getIntent().getStringExtra(“type”));
meta.put(“updated”, new Date().getTime());
Backendless.Geo.savePoint(lat, lng, categories, meta, new AsyncCallback<GeoPoint>() {
@Override
public void handleResponse(GeoPoint geoPoint) {
Toast.makeText(MapsActivity.this, “Successfully added your location!”, Toast.LENGTH_SHORT).show();
}
@Override
public void handleFault(BackendlessFault backendlessFault) {
Toast.makeText(MapsActivity.this, backendlessFault.getMessage(), Toast.LENGTH_SHORT).show();
}
});This gets saved 100% and I can see the metadata for the name and date (as a String) in the console. Then when I retrieve the metadata in coding, the “updated” key returns null:BackendlessGeoQuery geoQuery = new BackendlessGeoQuery();
geoQuery.addCategory( “john_family” );
geoQuery.setIncludeMeta( true );
Backendless.Geo.getPoints(geoQuery, new AsyncCallback<BackendlessCollection<GeoPoint>>() {
@Override
public void handleResponse(BackendlessCollection<GeoPoint> geoPointBackendlessCollection) {
list = geoPointBackendlessCollection.getData();
if (list.size() != 0)
{
for (int i = 0 ; i < list.size(); i++)
{
LatLng positionMarker = new LatLng(list.get(i).getLatitude(), list.get(i).getLongitude());
mMap.addMarker(new MarkerOptions()
.position(positionMarker)
.snippet(list.get(i).getMetadata("updated").toString())
.title(list.get(i).getMetadata("name").toString()));
}
}
}
@Override
public void handleFault(BackendlessFault backendlessFault) {
}
});If I leave out .snippet(list.get(i).getMetadata(“updated”).toString()) everything works 100%.I would appreciate any help here please.
Thanks
Johan