Перетащите маркер, чтобы вернуть широту и долготу этого местоположения в Google Maps - PullRequest
1 голос
/ 07 ноября 2011

Я новичок в Google Maps в Android. Мне нужна такая функциональность, как, на странице должна отображаться карта, и на карте должен быть маркер, а карта должна быть перетаскиваемой, а при перетаскивании она должна отображать широту и долготу перетаскиваемого местоположения. Может кто-нибудь PLZ помочь мне в решении этого?

Ответы [ 2 ]

0 голосов
/ 18 января 2015

Используйте следующий фрагмент, чтобы получить перетаскиваемую позицию и детали маркера.

map.setOnMarkerDragListener(new GoogleMap.OnMarkerDragListener() {

        @Override
        public void onMarkerDragStart(Marker marker) {
        }

        @Override
        public void onMarkerDragEnd(Marker marker) {
            Log.d(TAG, "latitude : "+ marker.getPosition().latitude);
            marker.setSnippet(marker.getPosition().latitude);
            map.animateCamera(CameraUpdateFactory.newLatLng(marker.getPosition()));

        }

        @Override
        public void onMarkerDrag(Marker marker) {
        }

    });
0 голосов
/ 07 ноября 2011

Здесь есть учебник , который делает именно это.


Переопределение onTouchEvent()

if (Action == MotionEvent.ACTION_UP){
if(!moveMap)
{
    Projection proj = myMapView.getProjection();
    GeoPoint loc = proj.fromPixels((int)arg0.getX(), (int)arg0.getY());

    //remove the last marker
    myMapView.getOverlays().remove(0);

    centerLocation(loc);
}

else if (Action == MotionEvent.ACTION_MOVE){
moveMap = true;
}
...