2

我正在谷歌地圖api v2工作,並且我想讓我的標記拖動正確, 只是我想從一個位置拖動我的標記,並將其放在另一個,但需要時間專注於該標記。它需要太多的時間來拖動標記谷歌地圖

以下是我的代碼,PLZ建議我哪裏做錯了

活動:

import android.os.Bundle; 
import android.support.v4.app.FragmentActivity; 
import android.util.Log; 
import android.widget.Toast; 

import com.google.android.gms.maps.CameraUpdateFactory; 
import com.google.android.gms.maps.GoogleMap; 
import com.google.android.gms.maps.GoogleMap.OnMarkerDragListener; 
import com.google.android.gms.maps.SupportMapFragment; 
import com.google.android.gms.maps.model.CameraPosition; 
import com.google.android.gms.maps.model.LatLng; 
import com.google.android.gms.maps.model.Marker; 
import com.google.android.gms.maps.model.MarkerOptions; 

public class DragMarker extends FragmentActivity implements OnMarkerDragListener { 

    private static GoogleMap map; 

    @Override 
    protected void onCreate(Bundle saveInstance) { 
     super.onCreate(saveInstance); 
     setContentView(R.layout.activity_test_drag_marker); 

     map = ((SupportMapFragment) getSupportFragmentManager().findFragmentById(R.id.map)).getMap(); 
     map.setOnMarkerDragListener(this); 

     //map.setOnMapLongClickListener(this); 
     //  map.setOnMapClickListener(this); 

     CameraPosition INIT = new CameraPosition.Builder().target(new LatLng(19.0222, 72.8666)).zoom(17.5F).bearing(300F) // orientation 
       .tilt(50F) // viewing angle 
       .build(); 

     // use map to move camera into position 
     map.moveCamera(CameraUpdateFactory.newCameraPosition(INIT)); 

     //create initial marker 
     map.addMarker(new MarkerOptions().position(new LatLng(19.0216, 72.8646)).draggable(true).title("Location").snippet("First Marker")).showInfoWindow(); 
    } 

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

    } 

    @Override 
    public void onMarkerDragEnd(Marker arg0) { 
     // TODO Auto-generated method stub 
     LatLng dragPosition = arg0.getPosition(); 
     double dragLat = dragPosition.latitude; 
     double dragLong = dragPosition.longitude; 
     Log.i("info", "on drag end :" + dragLat + " dragLong :" + dragLong); 
     Toast.makeText(getApplicationContext(), "Marker Dragged..!", Toast.LENGTH_LONG).show(); 
    } 

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

    } 

    /*@Override 
    public void onMapClick(LatLng arg0) { 
     // TODO Auto-generated method stub 
     map.animateCamera(CameraUpdateFactory.newLatLng(arg0)); 
    }*/ 

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

     //create new marker when user long clicks 
     map.addMarker(new MarkerOptions().position(arg0).draggable(true)); 
    }*/ 
} 

XML:

<?xml version="1.0" encoding="utf-8"?> 
<fragment xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@+id/map" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    class="com.google.android.gms.maps.SupportMapFragment" /> 
+0

我有d同樣的問題,你解決的位置它? – DKV

回答

1

把標記可拖動:

Marker perth = mMap.addMarker(new MarkerOptions().position(PERTH).draggable(true)); 
0

//創建的MarkerOptions

  MarkerOptions options = new MarkerOptions(); 

//設置標誌

  options.position(point); 

//設置標誌dragable真

  options.draggable(true);