我必须实施我的谷歌地图,我输入任何地址,它将自动获得经度和纬度。这是我试过的代码
coder = new Geocoder(this);
try {
String locationName ="Gulshan 1";
List<Address> addressList = coder.getFromLocationName(
locationName, 5);
if (addressList != null && addressList.size() > 0) {
destLat = (int) (addressList.get(0).getLatitude() * 1e6);
destLon = (int) (addressList.get(0).getLongitude() * 1e6);
TextView pozycja = (TextView) findViewById(R.id.position);
pozycja.setText("lat: "
+ addressList.get(0).getLatitude() + " lng: "
+ addressList.get(0).getLongitude());
}
}
catch (Exception e) {
Log.e("error", e.getMessage().toString());
}
可以从此代码中获取位置吗?
答案 0 :(得分:2)
使用以下代码即可。
Geocoder coder = new Geocoder(this);
List<Address> address = coder.getFromLocationName(
"your address", 5);
if (address == null)
Log.d(TAG,
"Latitude and longitude not found");
else {
Address location = address.get(0);
latitude = location.getLatitude();
longitude = location.getLongitude();
}
答案 1 :(得分:1)
使用以下代码:
List<Address> addressList = coder.getFromLocationName(locationName, 1);
Address addr=addressList.get(0);
destLat=addr.getLatitude();
destLon =addr..getLongitude();
TextView pozycja = (TextView) findViewById(R.id.position);
pozycja.setText("lat: "+destLat+ " lng: "+destLon);
答案 2 :(得分:0)
你可以看到这一点。这就是我获得转换信息的方式。
// getLatLon( “高尔杉-1”, “达卡”);
private void getLatLon(String loc,String div) {
Address addr = null;
try {
List<Address> addresses = new Geocoder(DataScrapper.this, Locale
.getDefault()).getFromLocationName(loc + " " + div
+ " Bangladesh", 1);
if (!addresses.isEmpty()) {
addr = addresses.get(0);
} else
addr = null;
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
// addr.getLatitude();
}
答案 3 :(得分:0)
public double[] getGeoCodesFromAddress(String pLocationAddress) {
try {
cLocationGeneratorProp = new LocationGeneratorProp();
objGeoCoder = new Geocoder(vContext, Locale.getDefault());
vListAddress = objGeoCoder.getFromLocationName(pLocationAddress, 1);
if (vListAddress != null) {
latlong = new double[2];
latlong[0] = vListAddress.get(0).getLatitude();
latlong[1] = vListAddress.get(0).getLongitude();
}
} catch (Exception e) {
Log.e("getGeoCodesFromAddress()", e.getMessage().toString());
}
return latlong;
}
LocationGeneratorProp
public class LocationGeneratorProp {
private String postalcode;
private String countryname;
private String countrycode;
private String fulladdress;
private String locationtype;
private double locationLat;
private double locationLong;
private double fromlocationlatitude;
private double fromlocationlongitude;
private double destinationlocationlatitude;
private double destinationlocationlongitude;
public String getPostalcode() {
return postalcode;
}
/**
* @param postalcode
* Postal Code Of the Adrress
*/
public void setPostalcode(String postalcode) {
this.postalcode = postalcode;
}
/**
* @return String CountryName
*
*/
public String getCountryname() {
return countryname;
}
public void setCountryname(String countryname) {
this.countryname = countryname;
}
public String getCountrycode() {
return countrycode;
}
public void setCountrycode(String countrycode) {
this.countrycode = countrycode;
}
public String getFulladdress() {
return fulladdress;
}
public void setFulladdress(String fulladdress) {
this.fulladdress = fulladdress;
}
public String getLocationtype() {
return locationtype;
}
public void setLocationtype(String locationtype) {
this.locationtype = locationtype;
}
public double getLocationLat() {
return locationLat;
}
public void setLocationLat(double locationLat) {
this.locationLat = locationLat;
}
public double getLocationLong() {
return locationLong;
}
public void setLocationLong(double locationLong) {
this.locationLong = locationLong;
}
public double getFromlocationlatitude() {
return fromlocationlatitude;
}
public void setFromlocationlatitude(double fromlocationlatitude) {
this.fromlocationlatitude = fromlocationlatitude;
}
public double getFromlocationlongitude() {
return fromlocationlongitude;
}
public void setFromlocationlongitude(double fromlocationlongitude) {
this.fromlocationlongitude = fromlocationlongitude;
}
public double getDestinationlocationlatitude() {
return destinationlocationlatitude;
}
public void setDestinationlocationlatitude(
double destinationlocationlatitude) {
this.destinationlocationlatitude = destinationlocationlatitude;
}
public double getDestinationlocationlongitude() {
return destinationlocationlongitude;
}
public void setDestinationlocationlongitude(
double destinationlocationlongitude) {
this.destinationlocationlongitude = destinationlocationlongitude;
}
}
jst测试了具有给定地址的代码 如果有任何疑问,请告诉我。
答案 4 :(得分:0)
您可以使用以下代码从任何地址(城市,出租地,国家/地区)轻松获取纬度和经度。
public void getlatd()
{
String add=txt_add.getText().toString();//address of location u have entered
Toast.makeText(this, "Your add is : "+add, Toast.LENGTH_LONG).show();
final Geocoder geocoder = new Geocoder(this);
try {
List<Address> addresses = geocoder.getFromLocationName(add, 1);
if (addresses != null && !addresses.isEmpty()) {
Address address = addresses.get(0);
txt.setText("latitude and longtd is :"+address.getLatitude()+"\n"+address.getLongitude());
}
else {
Toast.makeText(this, "NO latd and longtd for this add", Toast.LENGTH_LONG).show();
}
}
catch (IOException e) {
Toast.makeText(this, "Error :"+e.getMessage(), Toast.LENGTH_LONG).show();
}
}
"Robo-Techi"