2013-02-18 19 views
1

喜林可與Android地圖應用教程玩弄,但我發現了很多的錯誤,因爲我不似乎正確,因爲日食導入com.google.andoid.maps包給我一個導入及其任何類的錯誤。有什麼理由不應該工作。錯誤導入com.google.android.maps

import com.google.android.maps.*; 
import android.os.Bundle; 
import android.view.KeyEvent; 
import android.view.Window; 

import android.view.View; 
import android.view.View.OnClickListener; 
import android.widget.Button; 


public class ShowTheMap extends MapActivity { 

    private static double lat; 
    private static double lon; 
    private int latE6; 
    private int lonE6; 
    private MapController mapControl; 
    private GeoPoint gp; 
    private MapView mapView; 

    private Button overlayButton, accessButton; 

    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     requestWindowFeature(Window.FEATURE_NO_TITLE); // Suppress title bar for more space 
     setContentView(R.layout.showthemap); 

     // Add map controller with zoom controls 
     mapView = (MapView) findViewById(R.id.mv); 
     mapView.setSatellite(false); 
     mapView.setTraffic(false); 
     mapView.setBuiltInZoomControls(true); // Set android:clickable=true in main.xml 

     int maxZoom = mapView.getMaxZoomLevel(); 
     int initZoom = maxZoom-2; 

     mapControl = mapView.getController(); 
     mapControl.setZoom(initZoom); 
     // Convert lat/long in degrees into integers in microdegrees 
     latE6 = (int) (lat*1e6); 
     lonE6 = (int) (lon*1e6); 
     gp = new GeoPoint(latE6, lonE6); 
     mapControl.animateTo(gp);  

     // Button to control food overlay 
     overlayButton = (Button)findViewById(R.id.doOverlay); 
     overlayButton.setOnClickListener(new OnClickListener(){  
      public void onClick(View v) { 

      } 
     }); 

     // Button to control access overlay 
     accessButton = (Button)findViewById(R.id.doAccess); 
     accessButton.setOnClickListener(new OnClickListener(){  
      public void onClick(View v) { 

      } 
     }); 

    } 

    // Method to insert latitude and longitude in degrees 
    public static void putLatLong(double latitude, double longitude){ 
     lat = latitude; 
     lon =longitude; 
    } 

    // This sets the s key on the phone to toggle between satellite and map view 
    // and the t key to toggle between traffic and no traffic view (traffic view 
    // relevant only in urban areas where it is reported). 

    public boolean onKeyDown(int keyCode, KeyEvent e){ 
     if(keyCode == KeyEvent.KEYCODE_S){ 
      mapView.setSatellite(!mapView.isSatellite()); 
      return true; 
     } else if(keyCode == KeyEvent.KEYCODE_T){ 
      mapView.setTraffic(!mapView.isTraffic()); 
      mapControl.animateTo(gp); // To ensure change displays immediately 
     } 
      return(super.onKeyDown(keyCode, e)); 
    } 

    // Required method since class extends MapActivity 
    @Override 
    protected boolean isRouteDisplayed() { 
      return false; // Don't display a route 
    } 
} 
+0

請自行顯示錯誤。 – Sirko 2013-02-18 15:23:04

回答

0

這聽起來像是你可能錯過了所需的軟件包。請確保您下載的谷歌的API在Eclipse與SDK管理器

看看這個頁面的一些細節。 https://developers.google.com/android/add-ons/google-apis/installing

從該頁面快速片斷提到這類問題

選擇谷歌的API插件,要安裝並單擊 安裝選定的。該附件下載到您的計算機上,並在您的SDK環境中安裝 。

當你準備開發針對附加。設置您的 應用程序的屬性,以便它使用Google APIs Add-On作爲 構建目標。要運行該應用程序,請創建一個Android虛擬設備 ,該設備使用該加載項作爲其目標。確保選擇適合您的應用的版本 (按API級別)。

爲了讓您的應用程序能夠訪問包含在 加載項中的地圖庫,您需要正確配置開發環境和運行時環境 環境。 地圖概覽文檔中描述了這樣做的過程,您應該閱讀下一步。

  1. 打開SDK管理器在Eclipse
  2. 找到您的API版本
  3. 由谷歌公司
  4. 點擊安裝#包
  5. 重啓Eclipse勾選谷歌的API

例如

enter image description here

之後,你要引用這些新的軟件包,所以你需要改變你的項目建設目標

  1. 右鍵單擊您的項目
  2. 打開屬性
  3. 轉至的Android部分
  4. 查看包裝盒上的API版本旁邊谷歌的API你正在尋找

例如

enter image description here

+1

這樣做的伎倆,非常感謝! – Marklar 2013-02-18 16:40:43

1

你應該立足項目不脫「Android 4.2」,而是使用Platform 4.2關閉「Google API」。

這可以在您的項目屬性 - Android - Project Build Target中更改。