Android编程权威指南——Locatr2
先导入地图库。这是另一个Play服务库。新添加的依赖库名为com.googLe. android.gms∶play-services-maps∶10.0.1,输入时不要搞错。
使用Maps API还需要在manifest文件中声明你自己的APIkey。这个APIkey可以授权你的应用使用Google地图服务。
右键单击com.bignerdranch. android.locatr包,选择NEW→Activity→Gallery…菜单项,然后选择Google Maps Activity创建一个地图lactivity模板。Activity使用默认名称就好了。
完成之后,Locatr项目的 manifest文 件会自动添加一些内 容,同时 还会得到 values/google_maps_api.xml这个新文件以及一个新的MapsActivity。
如代码所示,从项目里以及 manifest文件里把它删除。
删除MapsActivity声明项(Androidmanifest.xml)
<application …>
删除不需要的依赖项。
代码如下
删除Play Services依赖项(app/build.gradle)
dependencies {
compile fileTree(include: [’*.jar’],dir:‘libs’)
androidTestCompile('com.android.support.test.espresso;espresso-core:2.2.2,{
exclude group:‘com.android.support’,moduLe:‘support-annotations’})
compile 'com.android.support:appcompat-v7:25.0.1’
compile ‘com.google.android.gms:play-services-Location:10.0.1’
compile ‘com.google.android.gms:play-services-maps:10.0.1’
testCompile 'junit:junit:4.121
}
获取更多地理位置数据
为在地图上标注图片,需要知道图片的地理位置。再给FlickrAPI查询串添加一个extra参数,为GalleryItem取回经纬度值,如代码所示。代
添加经纬度查询参数(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/serv