0
フラグメント内にGoogleマップビューを実装していますが、すべて動作していますが、マーカーが固定された新しい場所に移動していません。私は長いプレス、リスナー、マップの他の部分をタップ、何も動作しませんでした。マーカーがGoogle MapViewで動かない
のMapView断片
public class MapLocation_Fragment extends Fragment implements GoogleMap.OnMarkerDragListener,GoogleMap.OnMarkerClickListener,OnMapReadyCallback {
MapView mapView;
GoogleMap google_Map;
Marker Map_marker;
LatLng locclPosition;
double lati,longi;
@Nullable
@Override
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.maplocation_fragment, container, false);
mapView = (MapView) view.findViewById(R.id.send_Location_MapView);
mapView.onCreate(savedInstanceState);
mapView.onResume();// Needed tog et the map to display immediately
lati=getArguments().getDouble("lat");
longi=getArguments().getDouble("longi");
locclPosition=new LatLng(lati,longi);
MapsInitializer.initialize(getActivity());
mapView.getMapAsync(this);
return view;
}
@Override
public void onResume() {
super.onResume();
mapView.onResume();
}
@Override
public void onPause() {
super.onPause();
mapView.onPause();
}
@Override
public void onDestroy() {
super.onDestroy();
mapView.onDestroy();
}
@Override
public void onLowMemory() {
super.onLowMemory();
mapView.onLowMemory();
}
@Override
public void onMarkerDragStart(Marker marker) {
Map_marker=marker;
}
@Override
public void onMarkerDrag(Marker marker) {
}
@Override
public void onMarkerDragEnd(Marker marker) {
}
@Override
public boolean onMarkerClick(Marker marker) {
return false;
}
@Override
public void onMapReady(GoogleMap googleMap) {
google_Map = googleMap;
if (ActivityCompat.checkSelfPermission(getActivity(), Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED && ActivityCompat.checkSelfPermission(getActivity(), Manifest.permission.ACCESS_COARSE_LOCATION) != PackageManager.PERMISSION_GRANTED) {
return;
}
google_Map.setOnMarkerClickListener(MapLocation_Fragment.this);
google_Map.setOnMarkerDragListener(MapLocation_Fragment.this);
google_Map.setTrafficEnabled(true);
google_Map.setBuildingsEnabled(true);
google_Map.setMapType(googleMap.MAP_TYPE_NORMAL); //THIS OPTION WILL SHOW MAP IN SATELLITE FORM
google_Map.addMarker(new MarkerOptions()
.position(locclPosition)
.title("Current Location")
.draggable(true));
CameraPosition cameraPosition=new CameraPosition.Builder().target(locclPosition).zoom(19).build();
google_Map.animateCamera(CameraUpdateFactory.newCameraPosition(cameraPosition));
}
}
私がどこ今までの地図上のユーザのタップが、多くの労力がまだ全く動いていないの後に移動するためのマーカーにする必要があります。みんな助けてください。それをドラッグするとき
私にあなたのマーカー(
locclPosition
)の位置を更新するために、あなたのonMarkerDragEnd
方法でいくつかのコードを記述する必要があなたのマーカーの動きを作るために、あなたのコードがガードであるのを見ることができます。マーカーを長押ししてドラッグしてみてください。 –@ YaminiBalakrishnanはこれを試しましたが運はありません – Ritu