EX09_04.java
上传用户:vip_99
上传日期:2021-03-27
资源大小:61159k
文件大小:4k
源码类别:

android开发

开发平台:

Java

  1. package irdc.ex09_04; 
  2. /* import相关class */
  3. import android.app.AlertDialog;
  4. import android.content.DialogInterface;
  5. import android.os.Bundle; 
  6. import android.view.View; 
  7. import android.widget.Button; 
  8. import android.widget.EditText; 
  9. import com.google.android.maps.GeoPoint; 
  10. import com.google.android.maps.MapActivity; 
  11. import com.google.android.maps.MapController; 
  12. import com.google.android.maps.MapView; 
  13. public class EX09_04 extends MapActivity 
  14. {
  15.   private MapController mMapController01; 
  16.   private MapView mMapView01;
  17.   private Button mButton01,mButton02,mButton03; 
  18.   private EditText mEditText01;
  19.   private EditText mEditText02;
  20.   private int intZoomLevel=0;
  21.   /* Map启动时的默认坐标:天安门 */
  22.   private double dLat=116.391177;
  23.   private double dLng=39.9067452;
  24.   @Override 
  25.   protected void onCreate(Bundle icicle) 
  26.   { 
  27.     super.onCreate(icicle); 
  28.     setContentView(R.layout.main); 
  29.     /* 创建MapView对象 */ 
  30.     mMapView01 = (MapView)findViewById(R.id.myMapView1); 
  31.     mMapController01 = mMapView01.getController(); 
  32.     /* 设置MapView的显示选项(卫星、街道) */
  33.     mMapView01.setSatellite(false); 
  34.     mMapView01.setStreetView(true);
  35.     /* 默认放大的层级 */
  36.     intZoomLevel = 17; 
  37.     mMapController01.setZoom(intZoomLevel); 
  38.     /* 设置Map的中点为默认经纬度 */
  39.     refreshMapView();
  40.     
  41.     mEditText01 = (EditText)findViewById(R.id.myEdit1); 
  42.     mEditText02 = (EditText)findViewById(R.id.myEdit2);
  43.     
  44.     /* 送出查询的Button */ 
  45.     mButton01 = (Button)findViewById(R.id.myButton1); 
  46.     mButton01.setOnClickListener(new Button.OnClickListener() 
  47.     { 
  48.       @Override 
  49.       public void onClick(View v) 
  50.       { 
  51.         /* 经纬度空白检查 */
  52.         if(mEditText01.getText().toString().equals("")||
  53.            mEditText02.getText().toString().equals(""))
  54.         {
  55.           showDialog("经度或纬度填写不正确!");
  56.         }
  57.         else
  58.         {
  59.           /* 取得输入的经纬度 */
  60.           dLng=Double.parseDouble(mEditText01.getText().toString());
  61.           dLat=Double.parseDouble(mEditText02.getText().toString());
  62.           /* 依输入的经纬度重整Map */
  63.           refreshMapView(); 
  64.         }
  65.       } 
  66.     }); 
  67.      
  68.     /* 放大Map的Button */
  69.     mButton02 = (Button)findViewById(R.id.myButton2); 
  70.     mButton02.setOnClickListener(new Button.OnClickListener() 
  71.     { 
  72.       @Override 
  73.       public void onClick(View v) 
  74.       { 
  75.         intZoomLevel++; 
  76.         if(intZoomLevel>mMapView01.getMaxZoomLevel()) 
  77.         { 
  78.           intZoomLevel = mMapView01.getMaxZoomLevel(); 
  79.         } 
  80.         mMapController01.setZoom(intZoomLevel); 
  81.       } 
  82.     }); 
  83.      
  84.     /* 缩小Map的Button */
  85.     mButton03 = (Button)findViewById(R.id.myButton3); 
  86.     mButton03.setOnClickListener(new Button.OnClickListener() 
  87.     { 
  88.       @Override 
  89.       public void onClick(View v) 
  90.       { 
  91.         intZoomLevel--; 
  92.         if(intZoomLevel<1) 
  93.         { 
  94.           intZoomLevel = 1; 
  95.         } 
  96.         mMapController01.setZoom(intZoomLevel); 
  97.       } 
  98.     });
  99.   } 
  100.   
  101.   /* 重整Map的method */
  102.   public void refreshMapView() 
  103.   { 
  104.     GeoPoint p = new GeoPoint((int)(dLat* 1E6), (int)(dLng* 1E6)); 
  105.     mMapView01.displayZoomControls(true);
  106.     /* 将Map的中点移至GeoPoint */
  107.     mMapController01.animateTo(p); 
  108.     mMapController01.setZoom(intZoomLevel); 
  109.   } 
  110.    
  111.   @Override 
  112.   protected boolean isRouteDisplayed() 
  113.   { 
  114.     return false; 
  115.   }
  116.   
  117.   /* 显示Dialog的method */
  118.   private void showDialog(String mess){
  119.     new AlertDialog.Builder(EX09_04.this).setTitle("Message")
  120.     .setMessage(mess)
  121.     .setNegativeButton("确定", new DialogInterface.OnClickListener()
  122.     {
  123.       public void onClick(DialogInterface dialog, int which)
  124.       {
  125.       }
  126.     })
  127.     .show();
  128.   }
  129. }