2012-05-03 2 views
0

я должен реализовать свой Google карту, где я введенную любой адрес, он автоматически получит долготу и latitude.Here код, который я пыталсяКак я могу получить долготу и широту от адреса?

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

Пожалуйста, опишите, что вы не получите: «ничего», мусор, сообщение об ошибке и т.д. – Irfy

+0

Это показывает «Не удалось найти 0.0,0.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(); 
             } 
+0

Список

адресов address.I не могу понять.Почему там 2 раза адрес? –

+0

извините, что это моя ошибка, я отредактирую .. спасибо ...... ... MSID –

0

Вы можете видеть это. Это то, как я получил преобразованную информацию.

// getLatLon ("Gulshan-1", "Dhaka");

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(); 
    } 
+0

мне нужно сделать новый класс DataScrapper ли –

+0

? oops .... Его просто ссылка вашего текущего класса – Rasel

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 испытания тыс код с заданным адресом рабочей FNE позвольте мне KNW, если какие-либо prob..with тыс

1

Go с помощью следующего кода:

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); 
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" 
Смежные вопросы