Comment mettre en œuvre la recherche google maps par adresse dans Android?
Réponse
Trop de publicités?Pour cela, vous devez créer une classe de superposition de carte dans l'activité de carte.
Exemple
class MapOverlay extends com.google.android.maps.Overlay
{
public boolean draw(Canvas canvas, MapView mapView,
boolean shadow, long when)
{
super.draw(canvas, mapView, shadow);
//---translate the GeoPoint to screen pixels---
Point screenPts = new Point();
mapView.getProjection().toPixels(p, screenPts);
//---add the marker---
Bitmap bmp = BitmapFactory.decodeResource(
getResources(), R.drawable.pink);
canvas.drawBitmap(bmp, screenPts.x, screenPts.y-32, null);
return true;
}
}
Où veuillez changer R.Drawable.pink. Mettez votre tout dessinable.
Veuillez maintenant écrire le code ci-dessous dans votre recherche sur l'événement Click.
Exemple
List<Address> addresses = geoCoder.getFromLocationName(txtsearch.getText().toString(),5);
if(addresses.size() > 0)
{
p = new GeoPoint( (int) (addresses.get(0).getLatitude() * 1E6),
(int) (addresses.get(0).getLongitude() * 1E6));
controller.animateTo(p);
controller.setZoom(12);
MapOverlay mapOverlay = new MapOverlay();
List<Overlay> listOfOverlays = map.getOverlays();
listOfOverlays.clear();
listOfOverlays.add(mapOverlay);
map.invalidate();
txtsearch.setText("");
}
else
{
AlertDialog.Builder adb = new AlertDialog.Builder(GoogleMap.this);
adb.setTitle("Google Map");
adb.setMessage("Please Provide the Proper Place");
adb.setPositiveButton("Close",null);
adb.show();
}
Où txtSearch est un edittext et le contrôleur est un contrôleur de carte.