joe*_*guy 3 android reverse-geocoding
我有一个地理编码器,gcd和这行代码反向地理编码
List<Address> addresses = gcd.getFromLocation(latitude, longitude, 1);
if(addresses != null) {
Address returnedAddress = addresses.get(0);
for(int i=0; i<returnedAddress.getMaxAddressLineIndex(); i++) {
strReturnedAddress = (returnedAddress.getAddressLine(i)).toString();
Run Code Online (Sandbox Code Playgroud)
strReturnedAddress返回类似的东西
10453 Central Bronx,New York City,NY
我只需要城市名称,即纽约市.
删除部分字符串将非常困难,因为地理编码的输出可能会发生变化.我只需要地理编码给我这个城市.
我查了http://developer.android.com/reference/android/location/Geocoder.html但找不到答案.
很高兴您自己找到了解决方案.
您可能希望使用下面的方法,这更简单,因为它使用Location API而不必遍历地址列表:
Geocoder geocoder;
List<Address> addresses;
geocoder = new Geocoder(this, Locale.getDefault());
addresses = geocoder.getFromLocation(latitude, longitude, 1);
String address = addresses.get(0).getAddressLine(0);
String city = addresses.get(0).getAddressLine(1);
String country = addresses.get(0).getAddressLine(2);
Run Code Online (Sandbox Code Playgroud)
即使这个代码是由另一个用户提供的,我自己也实现了这种精确的方法,并发现它很有用.
希望这可以帮助.
| 归档时间: |
|
| 查看次数: |
2457 次 |
| 最近记录: |