有什么方法可以获取 Google 地点选择器 android 的城市名称
is there any way to get city name for Google Place picker android
我正在尝试从 Google 地点选择器获取城市名称。有什么方法可以使用地点选择器 API 获取城市名称。我知道我们不能简单地通过放置 place.getCity();
从 API 获取它 下面是我的代码。
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if(requestCode == REQUEST_PLACE_PICKER){
if(resultCode==RESULT_OK){
Place place = PlacePicker.getPlace(data,this);
final CharSequence name = place.getName();
final CharSequence address = place.getAddress();
final CharSequence phone = place.getPhoneNumber();
final String placeId = place.getId();
final LatLng latLng = place.getLatLng();
if(place.getLocale() != null) {
String aname = place.getLocale().toString();
areaname.setText(aname);
}
location.setText(address);
gname.setText(name);
latlon.setText(String.valueOf(latLng));
}
}
}
我不想在城市中使用任何空值。我读到 Geocoder
将给出大部分空值。
尝试使用地理编码器
final Place place = PlacePicker.getPlace(this,data);
Geocoder geocoder = new Geocoder(this);
try
{
List<Address> addresses = geocoder.getFromLocation(place.getLatLng().latitude,place.getLatLng().longitude, 1);
String address = addresses.get(0).getAddressLine(0);
String city = addresses.get(0).getAddressLine(1);
//String country = addresses.get(0).getAddressLine(2);
} catch (IOException e)
{
e.printStackTrace();
}
您也可以尝试调用网络服务并解析 json 结果以获取城市。
只需在下面 url 中传递从 placepicker 获得的纬度/经度。
结果中 administrative_area_level_2 代表城市
http://maps.googleapis.com/maps/api/geocode/json?latlng=23,72&sensor=true
我正在尝试从 Google 地点选择器获取城市名称。有什么方法可以使用地点选择器 API 获取城市名称。我知道我们不能简单地通过放置 place.getCity();
从 API 获取它 下面是我的代码。
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if(requestCode == REQUEST_PLACE_PICKER){
if(resultCode==RESULT_OK){
Place place = PlacePicker.getPlace(data,this);
final CharSequence name = place.getName();
final CharSequence address = place.getAddress();
final CharSequence phone = place.getPhoneNumber();
final String placeId = place.getId();
final LatLng latLng = place.getLatLng();
if(place.getLocale() != null) {
String aname = place.getLocale().toString();
areaname.setText(aname);
}
location.setText(address);
gname.setText(name);
latlon.setText(String.valueOf(latLng));
}
}
}
我不想在城市中使用任何空值。我读到 Geocoder
将给出大部分空值。
尝试使用地理编码器
final Place place = PlacePicker.getPlace(this,data);
Geocoder geocoder = new Geocoder(this);
try
{
List<Address> addresses = geocoder.getFromLocation(place.getLatLng().latitude,place.getLatLng().longitude, 1);
String address = addresses.get(0).getAddressLine(0);
String city = addresses.get(0).getAddressLine(1);
//String country = addresses.get(0).getAddressLine(2);
} catch (IOException e)
{
e.printStackTrace();
}
您也可以尝试调用网络服务并解析 json 结果以获取城市。 只需在下面 url 中传递从 placepicker 获得的纬度/经度。 结果中 administrative_area_level_2 代表城市
http://maps.googleapis.com/maps/api/geocode/json?latlng=23,72&sensor=true