Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/google-maps/4.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
Android animateCamera()不';调用InvalidateOptions功能表后无法工作_Android_Google Maps_Android Spinner_Oncreateoptionsmenu - Fatal编程技术网

Android animateCamera()不';调用InvalidateOptions功能表后无法工作

Android animateCamera()不';调用InvalidateOptions功能表后无法工作,android,google-maps,android-spinner,oncreateoptionsmenu,Android,Google Maps,Android Spinner,Oncreateoptionsmenu,我已经将onNewIntent(intent)添加到我的活动中,因此当调用它时,它应该缩放地图上的特定位置,然后调用invalidateOptions菜单(),以便可以调用onCreateOptions菜单(),并使用新位置的名称更新我的操作栏中的微调器。问题是在我将InvalidateOptions菜单()添加到onNewIntent()后,animateCamera始终显示我添加到微调器的第一个位置。例如,我有三个位置(伦敦、巴黎、米兰),我添加了另一个位置(纽约),它应该缩放到纽约,但它总

我已经将onNewIntent(intent)添加到我的活动中,因此当调用它时,它应该缩放地图上的特定位置,然后调用invalidateOptions菜单(),以便可以调用onCreateOptions菜单(),并使用新位置的名称更新我的操作栏中的微调器。问题是在我将InvalidateOptions菜单()添加到onNewIntent()后,animateCamera始终显示我添加到微调器的第一个位置。例如,我有三个位置(伦敦、巴黎、米兰),我添加了另一个位置(纽约),它应该缩放到纽约,但它总是缩放到伦敦。 这是我的密码

    @Override
    protected void onNewIntent(Intent intent) {
        super.onNewIntent(intent);





        final String name = intent.getStringExtra("name");

        ArrayList<String> loc = helper.getLocation(name);  //here i get the coordinates for the location from database

        String lat = loc.get(0);
        String lng = loc.get(1);

        double lat1 = Double.parseDouble(lat);
        double lng1 = Double.parseDouble(lng);
        LatLng tochka = new LatLng(lat1, lng1);
        CameraUpdate camera = CameraUpdateFactory.newLatLngZoom(tochka, 17);
        map.animateCamera(camera);
        map.addMarker(new MarkerOptions().position(tochka).title(name));



        invalidateOptionsMenu();


@Override
    public boolean onCreateOptionsMenu(Menu menu) {
        getMenuInflater().inflate(R.menu.spinner, menu);

        MenuItem item = menu.findItem(R.id.spinner);
        spinner = (Spinner) MenuItemCompat.getActionView(item);
        ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, R.layout.row, R.id.weekofday, Locations);

        adapter.setDropDownViewResource(R.layout.row);
        spinner.setAdapter(adapter);
        spinner.setOnItemSelectedListener(this);
        return true;
    }
@覆盖
受保护的void onNewIntent(意图){
super.onNewIntent(意向);
最终字符串名称=intent.getStringExtra(“名称”);
ArrayList loc=helper.getLocation(name);//这里我从数据库中获取位置的坐标
字符串lat=loc.get(0);
管柱lng=loc.get(1);
double lat1=double.parseDouble(lat);
双lng1=double.parseDouble(lng);
LatLng tochka=新LatLng(lat1,lng1);
CameraUpdateCamera=CameraUpdateFactory.newLatLngZoom(tochka,17);
map.animateCamera(摄像机);
addMarker(newmarkeroptions().position(tochka.title(name));
无效操作菜单();
@凌驾
公共布尔onCreateOptions菜单(菜单){
getMenuInflater().充气(R.menu.spinner,menu);
MenuItem=menu.findItem(R.id.spinner);
微调器=(微调器)MenuItemCompat.getActionView(项);
ArrayAdapter=新的ArrayAdapter(此,R.layout.row,R.id.weekofday,位置);
adapter.setDropDownViewResource(R.layout.row);
旋转器。设置适配器(适配器);
spinner.setOnItemSelectedListener(此);
返回true;
}
谢谢