Как реализовать Google карты для поиска по названию улицы, города? - PullRequest
5 голосов
/ 23 марта 2011

Мне нужна функция поиска, например на этом сайте .Но мне интересно, как я могу получить координаты из Google API по названию улицы?

Ответы [ 2 ]

9 голосов
/ 23 марта 2011

Google Geocoding API

Вы можете ввести адрес, и он будет возвращать координаты широты / долготы в ответе Json или XML и т. Д.

Вы можете прочитать об этом здесь:

http://code.google.com/apis/maps/documentation/geocoding/

0 голосов
/ 10 января 2013

В событии поиска onclick введите

List<Address> addresses = geoCoder.getFromLocationName("enter location name",5);
 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();

Затем создайте класс наложения карты в mapActivity

class MapOverlay extends Overlay
{
   private GeoPoint pointToDraw;

   public void setPointToDraw(GeoPoint point) {
          pointToDraw = point;
   }

   public GeoPoint getPointToDraw()
   {
          return pointToDraw;

   }

    @Override
    public boolean draw(Canvas canvas, MapView mapView, boolean shadow, long when) {
        super.draw(canvas, mapView, shadow);                  

        // convert point to pixels
        Point screenPts = new Point();
        mapView.getProjection().toPixels(pointToDraw, screenPts);

        // add marker
        Bitmap bmp = BitmapFactory.decodeResource(getResources(), R.drawable.marker);
        canvas.drawBitmap(bmp, screenPts.x, screenPts.y - 24, null); // 24 is the height of image       
        return true;
    }
} 
...