2012-03-11 17 views
0

我試圖在我的活動上加載Google mmaps。在通過一系列錯誤對抗後,我的日誌貓終於向我顯示了這個錯誤:無法在Android模擬器上的MapActivity中加載任何內容2.3

03-11 23:42:08.390: E/MapActivity(712): Couldn't get connection factory client 

地圖活動不會加載任何內容。我試圖尋找解決的辦法,並:

  • 我的活動延伸MapActivity
  • 我已經給互聯網persmission <uses-permission android:name="android.permission.INTERNET"/>
  • 我也告訴我,我會使用地圖圖書館< uses-library android:name="com.google.android.maps"/>
  • 應用我目標機器和虛擬機均具有API級別10,並且兩者都指向Google API
  • 我的api密鑰正確且正常工作。
  • 我使用寬帶連接直接連接到互聯網。

我的猜測是我無法上網。我試圖在模擬器中打開瀏覽器,但無法打開任何URL。所以我想我的模擬器無法訪問互聯網。有關連接到互聯網上的仿真器和參考this question搜索了一會兒後,我試着運行以下命令:C:\program files\android\android-sdk-windows\tools\emulator -avd -dns-server 8.8.8.8

但我結束了錯誤:

PANIC: Could not open: C:\Documents and Settings\dwadasi\.android/avd/-dns-serv 
r.ini 

我弄不明白的地方問題是。我試着在我的Android手機上安裝APK文件[2.3.6],它工作。但我真的需要它在我的模擬器上工作,因爲我仍然需要做很多開發工作。

+0

您連接到網絡上的任何類型的防火牆?端口阻塞?我使用的Wi-Fi網絡之一需要登錄並阻止某些端口。無法在該網絡上使用Android模擬器進行任何操作。 – dldnh 2012-03-11 19:28:32

+0

我個人禁用防火牆....仍然沒有好...同樣的錯誤。 :( – sasidhar 2012-03-11 19:40:36

回答

0

試試這個代碼....我使用這個,現在工作。

class MapOverlay extends com.google.android.maps.Overlay 
{ 
    @Override 
    public boolean draw(Canvas canvas, MapView mapView, 
    boolean shadow, long when) 
    { 
     super.draw(canvas, mapView, shadow);     

     //---translate the GeoPoint to screen pixels--- 
     Point screenPts = new Point(); 
     mapView.getProjection().toPixels(p, screenPts); 

     //---add the marker--- 
     Bitmap bmp = BitmapFactory.decodeResource(
      getResources(), R.drawable.pushpin2);    
     canvas.drawBitmap(bmp, screenPts.x, screenPts.y-50, null);   
     return true; 
    } 

    @Override 
    public boolean onTouchEvent(MotionEvent event, MapView mapView) 
    { 
     add=""; 
     //---when user lifts his finger--- 
     if (event.getAction() == 1) {     
      GeoPoint p = mapView.getProjection().fromPixels(
       (int) event.getX(), 
       (int) event.getY()); 


      Geocoder geoCoder = new Geocoder(
        getBaseContext(), Locale.getDefault()); 
       try { 
        List<Address> addresses = geoCoder.getFromLocation(
         p.getLatitudeE6()/1E6, 
         p.getLongitudeE6()/1E6, 1); 

        lattitude=p.getLatitudeE6()/1E6; 
        longitude=p.getLongitudeE6()/1E6; 

        if (addresses.size() > 0) 
        { 
         for (int i=0; i<addresses.get(0).getMaxAddressLineIndex(); 
          i++) 
          add += addresses.get(0).getAddressLine(i) + "\n"; 
        } 

        Toast.makeText(getBaseContext(), add, Toast.LENGTH_SHORT).show(); 


       } 
       catch (IOException e) {     
        e.printStackTrace(); 
       } 
       return true; 

     }     
     else { 
     return false; 
     } 
    }   
} 
0

我在開發過程中經常發生這種情況。通常我只需要殺死模擬器並創建一個新的模擬器,然後自行修復。

您在使用瀏覽器測試互聯網連接方面做得很對。如果你沒有連接,就沒有辦法進行映射。

+0

我已經擺弄我的網絡設置,現在我可以連接到我的模擬器上的互聯網,但仍然無法加載我的MapActivity中的內容 – sasidhar 2012-03-12 04:17:32

相關問題