Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/384.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 当微调器中的值更改时,贴图位置也会更改_Java_Android - Fatal编程技术网

Java 当微调器中的值更改时,贴图位置也会更改

Java 当微调器中的值更改时,贴图位置也会更改,java,android,Java,Android,所以我有一个活动,让用户从微调器中选择一个位置。当用户选择一个时,贴图(微调器下的片段)将把相机移动到特定的目的地。我有这个代码,但我似乎无法使它工作。任何帮助都将不胜感激 TerminalAllocationsActivity.java public class TerminalLocationsActivity extends AppCompatActivity implements OnMapReadyCallback, OnItemSelectedListener { Spinner

所以我有一个活动,让用户从微调器中选择一个位置。当用户选择一个时,贴图(微调器下的片段)将把相机移动到特定的目的地。我有这个代码,但我似乎无法使它工作。任何帮助都将不胜感激

TerminalAllocationsActivity.java

public class TerminalLocationsActivity extends AppCompatActivity implements OnMapReadyCallback, OnItemSelectedListener {

Spinner spinner;
GoogleMap mMap, mMap2, mMap3;


@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_terminal_locations);

    SupportMapFragment mapFragment =
            (SupportMapFragment) getSupportFragmentManager().findFragmentById(R.id.map);
    mapFragment.getMapAsync(this);

    spinner = (Spinner) findViewById(R.id.spinner);
    ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this, R.array.terminalList, R.layout.spinner_layout);
    adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
    spinner.setAdapter(adapter);


    Context context = getApplicationContext();
    CharSequence text = "Tap box to change terminal.";
    int duration = Toast.LENGTH_LONG;

        Toast toast = Toast.makeText(context, text, duration);
        toast.setGravity(Gravity.CENTER_VERTICAL| Gravity.CENTER, 0,0);
        toast.show();


}

@Override
public void onMapReady(GoogleMap map) {

    map.addMarker(new MarkerOptions().position(new LatLng(10.699160,122.547208)).title("San Pedro Molo Terminal"));
    map.moveCamera(CameraUpdateFactory.newLatLngZoom(new LatLng(10.699160, 122.547208), 16));
}


@Override
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
    String spinSelection = spinner.getSelectedItem().toString();

    if(spinSelection.equals("Terminal1")) {
        mMap.addMarker(new MarkerOptions().position(new LatLng(10.699160, 122.547208)).title("Terminal1"));
        mMap.moveCamera(CameraUpdateFactory.newLatLngZoom(new LatLng(10.699160, 122.547208), 16));
    }
    else if (spinSelection.equals("Terminal2")) {
        mMap2.addMarker(new MarkerOptions().position(new LatLng(10.699160,122.547208)).title("Terminal2"));
        mMap2.moveCamera(CameraUpdateFactory.newLatLngZoom(new LatLng(10.699160, 122.547208), 16));
    }
    else if (spinSelection.equals("Terminal3")) {
        mMap3.addMarker(new MarkerOptions().position(new LatLng(10.699160,122.547208)).title("Terminal3"));
        mMap3.moveCamera(CameraUpdateFactory.newLatLngZoom(new LatLng(10.761685, 122.577042), 16));
    }
}

@Override
public void onNothingSelected(AdapterView<?> parent) {
  //do nothing
}
公共类TerminalAllocationsActivity扩展了AppCompativeActivity在OnItemSelectedListener上的MapreadyCallback实现{
纺纱机;
谷歌地图mMap,mMap2,mMap3;
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity\u terminal\u locations);
SupportMapFragment映射片段=
(SupportMapFragment)getSupportFragmentManager().findFragmentById(R.id.map);
getMapAsync(这个);
微调器=(微调器)findViewById(R.id.spinner);
ArrayAdapter=ArrayAdapter.createFromResource(this,R.array.terminalList,R.layout.spinner\u layout);
setDropDownViewResource(android.R.layout.simple\u微调器\u下拉菜单\u项);
旋转器。设置适配器(适配器);
Context=getApplicationContext();
CharSequence text=“点击框以更改端子。”;
int duration=Toast.LENGTH\u LONG;
Toast Toast=Toast.makeText(上下文、文本、持续时间);
toast.setGravity(重力.重心|垂直|重力.重心,0,0);
toast.show();
}
@凌驾
已于4月1日公开作废(谷歌地图){
地图。添加标记(新标记选项()。位置(新板条(10.699160122.547208))。标题(“圣佩德罗莫洛终点站”);
地图。移动摄像机(CameraUpdateFactory.newLatLngZoom(NewLatlng(10.699160122.547208),16));
}
@凌驾
已选择公共视图(AdapterView父视图、视图视图、整型位置、长id){
String spinSelection=spinner.getSelectedItem().toString();
if(spinSelection.equals(“Terminal1”)){
mMap.addMarker(新标记选项().位置(新板条(10.699160122.547208)).标题(“终端1”);
mMap.moveCamera(CameraUpdateFactory.newLatLngZoom(新LatLng(10.699160122.547208),16));
}
else if(spinSelection.equals(“Terminal2”)){
mMap2.添加标记(新标记选项().位置(新板条(10.699160122.547208)).标题(“端子2”);
mMap2.移动摄像机(CameraUpdateFactory.newLatLngZoom(新LatLng(10.699160122.547208),16));
}
else if(spinSelection.equals(“Terminal3”)){
mMap3.添加标记(新标记选项().位置(新板条(10.699160122.547208)).标题(“端子3”);
mMap3.移动摄像机(CameraUpdateFactory.newLatLngZoom(新LatLng(10.761685122.577042),16));
}
}
@凌驾
未选择公共无效(AdapterView父级){
//无所事事
}

}

能否更具体地说明它是如何工作的?每当我更改微调器的值时,贴图位置都不会更新。加载贴图时,它仍在同一位置。是否在选定的侦听器上设置微调器的项目?