package com.aiyou.map; import java.util.ArrayList; import android.os.Bundle; import android.view.KeyEvent; import android.view.View; import android.widget.AdapterView; import android.widget.Spinner; import android.widget.AdapterView.OnItemSelectedListener; import com.aiyou.BaseActivity; import com.aiyou.AiYouApplication; import com.aiyou.R; import com.aiyou.map.adapter.MySpinnerAdapter; import com.baidu.lbsapi.panoramaview.*; import com.baidu.lbsapi.BMapManager; /** * 查看全景图 * * @author sollian */ public class PanoramaActivity extends BaseActivity { private PanoramaView mPanoView; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); // 先初始化BMapManager AiYouApplication app = AiYouApplication.getInstance(); if (app.mBMapManager == null) { app.mBMapManager = new BMapManager(app); app.mBMapManager.init(new AiYouApplication.MyGeneralListener()); } setContentView(R.layout.activity_panorama); Spinner mSpinner = (Spinner) findViewById(R.id.activity_panorama_sp); mPanoView = (PanoramaView) findViewById(R.id.activity_panorama_pv); mPanoView.setShowTopoLink(true); mPanoView.setZoomGestureEnabled(false); mPanoView.setRotateGestureEnabled(true); ArrayList<String> list = new ArrayList<>(); list.add("西门"); list.add("东门"); list.add("3号教学楼"); list.add("图书馆"); list.add("学生公寓"); list.add("体育馆"); list.add("新食堂"); MySpinnerAdapter adapter = new MySpinnerAdapter(this, list, "#880088"); mSpinner.setAdapter(adapter); mSpinner.setOnItemSelectedListener(new OnItemSelectedListener() { @Override public void onItemSelected(AdapterView<?> parent, View v, int position, long id) { switch (position) { case 0: mPanoView.setPanorama(116.361672, 39.966862); mPanoView.setPanoramaHeading(90); break; case 1: mPanoView.setPanorama(116.367592, 39.968293); mPanoView.setPanoramaHeading(-90); break; case 2: mPanoView.setPanorama(116.363019, 39.966475); mPanoView.setPanoramaHeading(0); break; case 3: mPanoView.setPanorama(116.363945, 39.9685); mPanoView.setPanoramaHeading(90); break; case 4: mPanoView.setPanorama(116.362858, 39.968943); mPanoView.setPanoramaHeading(-90); break; case 5: mPanoView.setPanorama(116.36584, 39.96774); mPanoView.setPanoramaHeading(45); break; case 6: mPanoView.setPanorama(116.363729, 39.96962); mPanoView.setPanoramaHeading(-90); break; } } @Override public void onNothingSelected(AdapterView<?> arg0) { } }); } public void selfFinish(View view) { scrollToFinishActivity(); } @Override public boolean onKeyDown(int keyCode, KeyEvent event) { // 按下键盘上返回按钮 if (keyCode == KeyEvent.KEYCODE_BACK) { selfFinish(null); return true; } return super.onKeyDown(keyCode, event); } @Override protected void onPause() { super.onPause(); mPanoView.onPause(); } @Override protected void onResume() { super.onResume(); mPanoView.onResume(); } @Override protected void onDestroy() { super.onDestroy(); mPanoView.destroy(); } }