7

マーカーを設定し、ドラッグ可能な状態をtrueに設定しました。しかし、私が呼び出すmarker.getPosition()と、ドラッグ終了後にマーカーの位置が更新されないなど、常に同じ場所が得られます。

mMap = ((MapFragment) getFragmentManager().findFragmentById(R.id.map_place))
        .getMap();

LatLng MYLOCATION = new LatLng(Double.valueOf(myLat), Double.valueOf(myLng));
marker = new MarkerOptions()
    .position(MYLOCATION)
    .title(getString(R.string.map_title_my_location)).draggable(true);
mMap.addMarker(marker).showInfoWindow();
mMap.moveCamera(CameraUpdateFactory.newLatLngZoom(MYLOCATION, 18));
close.setOnClickListener(new OnClickListener() {

  @Override
  public void onClick(View v) {
    // TODO Auto-generated method stub
    LatLng pos = marker.getPosition();
    Toast.makeText(activity, "Lat: " + pos.latitude + "; Long: " + pos.longitude, Toast.LENGTH_LONG).show();
  }
});

私が定義したクラス変数として:

GoogleMap mMap;
MarkerOptions marker;

何か案が?!

4

2 に答える 2

6

OnMarkerDragListener()メインアクティビティで実装する必要があります。メソッド内onMarkerDragEnd()で、マーカーの位置を取得できます(IDを使用して)

于 2013-02-16T07:48:57.040 に答える