Chapter 34 Maps
Getting More Location Data
To actually plot your image on this map, you need to know where it is. Add an additional “extra”
parameter to your Flickr API query to fetch a lat-lon pair back for your GalleryItem.
Listing 34.4 Adding lat-lon to query (FlickrFetchr.java)
private static final String API_KEY = "yourApiKeyHere";
private static final String FETCH_RECENTS_METHOD = "flickr.photos.getRecent";
private static final String SEARCH_METHOD = "flickr.photos.search";
private static final Uri ENDPOINT = Uri
.parse("https://api.flickr.com/services/rest/")
.buildUpon()
.appendQueryParameter("api_key", API_KEY)
.appendQueryParameter("format", "json")
.appendQueryParameter("nojsoncallback", "1")
.appendQueryParameter("extras", "url_s,geo")
.build();
Now add latitude and longitude to GalleryItem.
Listing 34.5 Adding lat-lon properties (GalleryItem.java)
public class GalleryItem {
private String mCaption;
private String mId;
private String mUrl;
private double mLat;
private double mLon;
...
public Uri getPhotoPageUri() {
return Uri.parse("http://www.flickr.com/photos/")
.buildUpon()
.appendPath(mOwner)
.appendPath(mId)
.build();
}
public double getLat() {
return mLat;
}
public void setLat(double lat) {
mLat = lat;
}
public double getLon() {
return mLon;
}
public void setLon(double lon) {
mLon = lon;
}
@Override
public String toString() {
return mCaption;
}
}