Android MapView не загружается - PullRequest
       3

Android MapView не загружается

1 голос
/ 29 сентября 2010

У меня проблемы с MapView, потому что карта не загружается.Я читаю вокруг и нахожу много людей с такой же проблемой.Я проверил все возможные проблемы, и кажется, что все в порядке: P

  • В Манифесте находится внутри тега

  • У меня естьпредыдущий тег

  • В эмуляторе 3G работает правильно, так как я могу перемещаться с помощью браузера, и Google Maps загружается отлично

  • Я проверилдважды мой ApiKey, и, кажется, все в порядке.Я использую Windows, поэтому в cmd я перехожу к папке, где расположен Java Keytool, как только там я выполняю следующую команду, чтобы получить отпечаток пальца, а затем мой ApiKey:

keytool -list -alias androiddebugkey -storepass android -keypass android-хранилище ключей c: \ путь \ где \ файл \ находится \ расположен \ debug.keystore

Вот часть моего кода:

public class mapa extends MapActivity {

 private MapView mMapView = null;  
 private MapController mc = null;


 /** Called when the Activity is first created. */
 @Override
 public void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  setContentView(R.layout.mapa);

  GeoPoint gPoint = new GeoPoint(40331175,-3765780);

  mMapView = (MapView) findViewById(R.id.mView);
  mMapView.setSatellite(true);
  mMapView.setBuiltInZoomControls(true);

  mc = mMapView.getController();
  mc.setZoom(15);
  mc.setCenter(gPoint);
     }

Макет XML:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
  xmlns:android="http://schemas.android.com/apk/res/android"
  android:layout_width="fill_parent"
  android:layout_height="fill_parent"
  android:orientation="vertical">

 <com.google.android.maps.MapView
  android:id="@+id/mView"
  android:layout_width="fill_parent" 
  android:layout_height="375dp"
  android:padding="5dp"
  android:enabled="true" 
  android:clickable="true" 
  android:apiKey="My_Api_Key" />

 <RelativeLayout
  xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:padding="3dp"
    android:orientation="vertical">

    <TextView
     android:id="@+id/tMapa"
   android:text="Último dato"
   android:layout_width="wrap_content" 
      android:layout_height="wrap_content" /> 

    //Here i have some other info, but its not relevant to the problem, since all this views loads properly :P

   </RelativeLayout>      

 </LinearLayout>

AndroidManifest:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
      package="com.pfc.android"
      android:versionCode="1"
      android:versionName="1.0">     

    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
    <uses-permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    <uses-permission android:name="android.permission.INERNET" />
    <uses-permission android:name="android.permission.WRITE_GSERVICES" />

    <application android:icon="@drawable/icon" android:label="@string/app_name">

     <uses-library android:name="com.google.android.maps" />

                <!-- I've got here some others Activities declared -->

  <!-- This is the map Activity -->
  <activity android:name=".mapa"
      android:label="@string/app_name"
      class=".mapa">

  </activity>

 </application>

    <uses-sdk android:minSdkVersion="4" />

</manifest> 

Итак, я не знаю, что еще я могу сделать, чтобы решить проблему.

Кто-нибудь может мне помочь?: D

Ответы [ 3 ]

2 голосов
/ 18 июля 2011

Наши разработчики Android также столкнулись с этой проблемой.Мы решили проблему следующим образом:

  1. Мы сгенерировали ключи API для каждого компьютера и добавили ключ в соответствующий файл main.xml.Таким образом, у каждого разработчика был отдельный ключ API.

  2. Мы запустили эмулятор из командной строки с помощью команды android "emulator", которая находится в каталоге инструментов, и запустили опцию прокси вместо запуска из Eclipse, например:

E:> эмулятор -avd New_Device -http-proxy http://202.0.0.203:808

1 голос
/ 29 сентября 2010

Вы не объясняете, что означает "не загружается карта", что затрудняет вам помощь.

Вы не предоставляете действительный ключ API в вставленном коде, что еще более затрудняет вам помощь.

Вот рабочий MapView проект - просто вставьте свой собственный ключ API. Если это не удается, но автономное приложение «Карты» прекрасно работает в том же эмуляторе / устройстве, то ваш ключ API, вероятно, недействителен.

0 голосов
/ 28 мая 2012

Давным-давно, так как я решил эту проблему (как я объясняю в комментарии, который я сделал к ответу CommonsWare).Просто написав это здесь, чтобы сделать его "официальным" xD:

"ApiKey был верным, и все остальное также было правильным, кроме разрешения на использование Интернета на Manifyt. Я неправильно ввел ИНТЕРНЕТ в ИНЕРНЕТ ¬_ 'понять, почему Eclipse не предупреждает об этом: P "

...