Android Programming The Big Nerd Ranch Guide by Bill Phillips, Chris Stewart, Kristin Marsicano (z-lib.org)

(gtxtreme123) #1

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;
}
}

Free download pdf