Подтвердить что ты не робот

Как реализовать поиск в Google Maps по адресу в Android?

Как реализовать поиск в Google Maps по адресу в Android?

4b9b3361

Ответ 1

Для этого вам нужно создать один класс оверлей карты в активности карты.

Пример

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;
    }
} 

Где измените R.drawable.pink. Положите все свои возможности.

Теперь напишите ниже код в своем поиске onClick event..

Пример

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

Где txtsearch - контроллер EditText и - контроллер карты.