2012-02-09 2 views
0

я пытался быстро учебник с помощью карт Google в AndriodAndroid: Google Map не появляется

Когда я загружаю мой проект, я просто получить название и струнные below.I Привет я не уверен, что я делаю неправильно здесь , Я скопировал код, когда я сгенерировал ключ API

манифесту:

<?xml version="1.0" encoding="utf-8"?> 

<uses-sdk android:minSdkVersion="3" /> 
<uses-permission android:name="android.permission.INTERNET" /> 
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/> 
<uses-library android:name="com.google.android.maps" /> 
<application 
    android:name=".MapsActivity" 
    android:icon="@drawable/ic_launcher" 
    android:label="@string/app_name" > 
    <activity 
     android:name=".TestGoogleMapsActivity" 
     android:label="@string/app_name" > 
     <intent-filter> 
      <action android:name="android.intent.action.MAIN" /> 
      <category android:name="android.intent.category.LAUNCHER" /> 
     </intent-filter> 
    </activity> 
</application> 

main.xml

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent"> 
    <com.google.android.maps.MapView 
       android:layout_width="fill_parent" 
       android:layout_height="fill_parent" 
       android:apiKey="0BEWMEhSfG1KpK8VJaPUKRS0bpcavE8rIvn3hjQ" 
       /> 
</RelativeLayout> 

enter image description here

Update TestGoogleMapsActivity.java Gibby.TestMaps пакет;

import android.app.Activity; 
import android.os.Bundle; 
import com.google.android.maps.MapActivity; 
import com.google.android.maps.MapView; 
import android.os.Bundle; 

public class TestGoogleMapsActivity extends MapActivity { 
    /** Called when the activity is first created. */ 
    @Override 
    public void onCreate(Bundle savedInstanceState) 
    { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.main); 
    } 

    @Override 
    protected boolean isRouteDisplayed() { 
     return false; 
    } 
} 
+0

И я думаю, что нет никаких проблем в вашем видимом коде, но один раз попытаться поставить <использует библиотеку андроида: имя = «com.google.android.maps» /> под <тег приложения> –

+0

Если. MapsActivity фактически не является [подклассом Application] (http://developer.android.com/guide/topics/manifest/application-element.html), удалите этот элемент android: name из тега приложения. –

+0

Вернее, делает то, что вы даже компилируете? Вы используете устаревшее приложение в эмуляторе? –

ответ

3

Переместить это <uses-library android:name="com.google.android.maps" /> внутри приложения тега

<uses-sdk android:minSdkVersion="3" /> 
<uses-permission android:name="android.permission.INTERNET" /> 
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/> 

<application 
    android:name=".MapsActivity" 
    android:icon="@drawable/ic_launcher" 
    android:label="@string/app_name" > 
    <uses-library android:name="com.google.android.maps" /> 
    <activity 
     android:name=".TestGoogleMapsActivity" 
     android:label="@string/app_name" > 
     <intent-filter> 
      <action android:name="android.intent.action.MAIN" /> 
      <category android:name="android.intent.category.LAUNCHER" /> 
     </intent-filter> 
    </activity> 
</application> 
+0

Спасибо, что сработал. я не могу поверить, что я пропустил это – H20rider

+0

:) добро пожаловать –

0

Ваш предоставленный XML не содержит строку 'hello'. Поэтому вы не используете этот XML для своего интерфейса. Измените свою активность и измените ее setContentView(R.layout.whatever);, чтобы указать на нужный макет. Например, если ваш XML-файл MapView находится в res/layout/mapview.xml, у вас должно быть setContentView(R.layout.mapview);

EDIT: ... о, теперь вы предоставили скриншот, который предполагает, что вы не используете какой-либо по умолчанию макет, но просто не предоставил весь ваш макет (ну, как и предполагает отсутствие атрибута пространства имен).

Продолжить.

EDIT: ... о, и теперь вы показали полный XML, и вы действительно не используете его. См. Мое решение выше.

/восстановить

+0

спасибо Джулиан. в следующий раз я добавлю дополнительные сведения. – H20rider

1

вам необходимо зарегистрировать ключи подписи на Google Map API и получить ключ апи оттуда, что апи необходимо использовать в параметре MapView apiKey, вы можете получить карту ключ API с помощью следующих ссылка:

http://code.google.com/android/add-ons/google-apis/mapkey.html, http://mobiforge.com/developing/story/using-google-maps-android

+0

Сейчас я использую отладочный ключ. Я уже следовал этим шагам. На самом деле я скопировал код, который он мне дал точно – H20rider

+0

Да, Джулиан прав, вы не устанавливаете представление содержимого в xml, который вы разместили здесь. – jeet