2013-03-29 11 views
2

Je fais une application de démonstration avec Google Maps Api V2.Convertir Lat Long pour adresse Google Maps ApiV2

J'ai ajouté un marqueur simple et ont fait draggable

Voici mon code:

@Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.demo_v2); 


     googleMap = ((SupportMapFragment)getSupportFragmentManager().findFragmentById(R.id.map)).getMap(); 
     googleMap.setMapType(GoogleMap.MAP_TYPE_HYBRID); 
     googleMap.setOnMapClickListener(this); 
     googleMap.setOnMarkerDragListener(this); 
     googleMap.setOnMapLongClickListener(this); 


     googleMap.setInfoWindowAdapter(new InfoWindowAdapter() { 

      @Override 
      public View getInfoWindow(Marker arg0) { 

       return null; 
      } 

      @Override 
      public View getInfoContents(Marker marker) { 

       LayoutInflater inflater = (LayoutInflater) MapsDemo.this.getSystemService(Context.LAYOUT_INFLATER_SERVICE); 
       View v = inflater.inflate(R.layout.custom_info, null); 

       TextView tv = (TextView)v.findViewById(R.id.textView1); 
       tv.setText(marker.getSnippet()); 

       return v; 
      } 
     }); 

     googleMap.setMyLocationEnabled(true); 
     googleMap.getUiSettings().setRotateGesturesEnabled(true); 
     googleMap.getUiSettings().setTiltGesturesEnabled(true); 

     marker = googleMap.addMarker(new MarkerOptions() 
     .position(ROMA) 
     .title("Hello") 
     .snippet("Nice Place") 
     .icon(BitmapDescriptorFactory.fromResource(R.drawable.ic_launcher)) 
     .draggable(true)); 

@Override 
    public void onMarkerDrag(Marker marker) { 
     // TODO Auto-generated method stub 
    } 

    @Override 
    public void onMarkerDragEnd(Marker marker) { 
     LatLng field = marker.getPosition(); 
     System.out.println("LatitudenLongitude:"+field.latitude+" "+field.longitude); 

    } 

    @Override 
    public void onMarkerDragStart(Marker marker) { 
     // TODO Auto-generated method stub 

    } 

    @Override 
    public void onMapLongClick(LatLng latlng) { 
     // TODO Auto-generated method stub 

    } 

    @Override 
    public void onMapClick(LatLng latlng) { 
     // TODO Auto-generated method stub 

    } 

}

Maintenant, je veux que lorsque l'adresse devrait sortir lorsque l'utilisateur clique sur le marqueur.

Simple question est: Voulez-vous pour obtenir l'adresse (nom) de Lat long API v2

Répondre

4

Vous devez utiliser le Geocoder disponible dans le Android API. Vous aurez besoin de faire un appel à getFromLocation(latitude,longitude,maxResults) qui renverra un List<Address>.

+0

Salut Ovidiu. Pouvez-vous s'il vous plaît m'aider dans cette affaire, je veux que lorsque je fais glisser le marqueur jusqu'à la limite, alors la carte devrait automatiquement défiler vers l'autre direction. C'est possible ? - google maps api v2? –

+1

peut-être que vous devriez poster une autre question pour cela. –

+0

Okay Merci @Ovidiu –

13

Essayez ceci:

public List<Address> getAddress() { 
    if (latitude != 0 && longitude != 0) { 
     try { 
      Geocoder geocoder = new Geocoder(context); 
      List<Address> 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); 
      Log.d("TAG", "address = " + address + ", city = " + city + ", country = " + country); 
     } catch (Exception e) { 
      e.printStackTrace(); 
     } 
    } else { 
     Toast.makeText(context, "latitude and longitude are null", Toast.LENGTH_LONG).show(); 
    } 
    return addresses; 
} 
+0

désolé, je n'ai pas compris ce que vous voulez exactement? pouvez-vous l'expliquer brièvement ou donner par exemple. –

+0

Je veux que lorsque l'utilisateur commence à faire glisser le marqueur et atteigne la limite de l'écran de la carte (partie visible), alors l'écran de la carte devrait glisser automatiquement de l'autre côté, afin de pouvoir montrer plus. –

+0

essayez ceci [lien] (http://android-er.blogspot.in/2013/01/google-maps-android-api-v2-example_7.html) J'espère que cela vous aidera. –

Questions connexes