我不需要显示地图。但是,我需要使用gps / 3g网络来定位我当前的位置ADDRESS(不长和纬度)然后将其添加到自动短信响应中以通知一个人我当前无法回复,&包括我当前位置的字符串地址。 我有短信的工作,只需要弄清楚访问gps和拉地址的方法。我见过lat / long的示例代码。也许我需要将lat / long转换为google maps API中的地址?我不确定如何去做。 任何建议/代码片段/类似的教程欢迎! 谢谢。 :)
答案 0 :(得分:25)
这有两个步骤:
获取当前位置 - 纬度&经度,使用GPS,网络,最后知道的位置等.Android location documentation包含示例代码。
使用Android Geocoder class请求查找以将纬度/经度转换为地址(您可以从中轻松提取城市,国家,街道等)。具体来说,您需要使用getFromLocation()方法
注意:
答案 1 :(得分:14)
答案在这里:http://developer.android.com/reference/android/location/Geocoder.html
您需要创建Geocoder对象并调用getFromLocation(double latitude, double longitude, int maxResults)
Geocoder gCoder = new Geocoder(myContext);
ArrayList<Address> addresses = gCoder.getFromLocation(123456789, 123456789, 1);
if (addresses != null && addresses.size() > 0) {
Toast.makeText(myContext, "country: " + addresses.get(0).getCountryName(), Toast.LENGTH_LONG).show();
}
答案 2 :(得分:0)
如您所知获取位置地址,您可以使用Google GeoCoder
除了通过提供纬度和经度来获取位置地址之外,你可以使用这个API。这比谷歌Geocoder更可靠,更快。我附上链接和小例子......
API网址 -
您可以在网址上连接等号旁边的纬度和经度值。
示例 -
lat = 6.123456
lng = 79.123456
String url =
&#34; https://maps.googleapis.com/maps/api/geocode/json?latlng=lat+&#34;&#34 + LNG&#34 ;;
这将返回一个漂亮的 jsonObject ,你可以玩它,只是试试这个。目前我使用这个API为我的位置服务,它比正常的谷歌更快geoCoder API。要捕获json响应,您可以使用排球或任何其他。快乐编码。