android- Как увидеть карту с помощью maps lib

#android #maps

#Android #Карты

Вопрос:

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

 code
 

открытый класс mapsdemo расширяет MapActivity
{

 MapView mapView;
GeoPoint gp;
MapController mc;

/** Called when the activity is first created. */
@SuppressWarnings({ "unchecked", "rawtypes" })
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    mapView = (MapView) findViewById(R.id.mapView);
    mapView.setBuiltInZoomControls(true);
    mapView.displayZoomControls(true);

    List mapOverlays = mapView.getOverlays();
    Drawable drawable = this.getResources().getDrawable(R.drawable.icon);
    HelloItemizedOverlay itemizedOverlay = new HelloItemizedOverlay(drawable, this);

    double lat = 17.385044;
    double longi = 78.486671;

    gp = new GeoPoint((int) (lat *1E6),(int) (longi *1E6));
    OverlayItem overlayitem =  new OverlayItem(gp, "Hello", "I'm in Hyd");                                                                      
    itemizedOverlay.addOverlay(overlayitem);        
    mapOverlays.add(itemizedOverlay);

    mc = mapView.getController();
    mc.animateTo(gp);
    mc.setZoom(13);
}

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

}

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

< LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    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="00YCOT71Vu0btHPPlbIR9uvF0-l4mcAVT9_6HMw"   
                 android:id="@ id/mapView"  
                 android:enabled="true"
                 android:clickable="true"        
                 />
< /LinearLayout>

manifeast

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

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
      package="com.maps.demo"
      android:versionCode="1"
      android:versionName="1.0">

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

    <uses-permission android:name="android.permission.INTERNET"></uses-permission>

    <application android:icon="@drawable/icon" android:label="@string/app_name">
        <activity android:name=".mapsdemo"
                  android:label="@string/app_name"
                  android:theme="@android:style/Theme.NoTitleBar">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>

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

Комментарии:

1. я опубликовал main.xml . пожалуйста, обратитесь к нему

2. ключ API карты генерируется вашим ПК или любым другим ПК?

3. только для нашего ПК. я создал с помощью этого видеоурока youtube.com/watch ? v=vgr4l1nsFdU

4. это уникально для каждого ПК? Сколько ключей API мы генерируем для одного ПК?

5. Если вы просто используете хранилище ключей отладки по умолчанию, оно будет разным на каждом компьютере, если вы явно не разделяете хранилище ключей между компьютерами или не настроили плагин eclipse на использование определенного хранилища ключей.

Ответ №1:

Скорее всего, это вызвано несоответствием подписи. Убедитесь, что вы зарегистрировали свой закрытый ключ из хранилища ключей, используемого для упаковки вашего приложения в Google, на странице регистрации maps API и убедитесь, что выданный ключ находится в вашем файле макета для MapView.

Комментарии:

1. На странице регистрации maps api, на которую я ссылался в своем ответе, показана команда keytool для получения отпечатка MD5 вашего закрытого ключа. Просто убедитесь, что вы используете правильное хранилище ключей (если вы используете плагин eclipse для Android и не меняли никаких настроек по умолчанию, он будет находиться в каталоге .android в вашей домашней папке).