MapView не работает [Android] - PullRequest
1 голос
/ 07 июля 2011

Когда я загружаю свое приложение MapView, MapView отображает только серые линии сетки.

Вот мой код:

main.xml:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout 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
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/map_view"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:clickable="true"
android:apiKey="0aOphT3vlZFVSL1HZ2Vg-RmIDhH0nPlp8e7gJrg"/>

Файл манифеста:

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

    <application android:icon="@drawable/icon" android:label="@string/app_name">
    <uses-library android:name="com.google.android.maps"></uses-library>
        <activity android:name=".GMapsActivity"
                  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>
    <uses-sdk android:minSdkVersion="1" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"></uses-permission>
 <uses-permission android:name="android.permission.INTERNET"></uses-permission>

</manifest> 

Активность:

package com.andoid.googlemaps;

import android.os.Bundle;

import com.google.android.maps.MapActivity;
import com.google.android.maps.MapView;

public class GMapsActivity extends MapActivity {
    private MapView mapView;
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

       /* Proxy Settings*/
        System.setProperty("http.proxySet", "true");
        System.setProperty("http.proxyHost", "proxy.example.com");
        System.setProperty("http.proxyPort", "8080");

        setContentView(R.layout.main);
        mapView=(MapView)findViewById(R.id.map_view);
        mapView.setBuiltInZoomControls(true);

    }

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

Заранее спасибо за любую помощь ...

Ответы [ 3 ]

0 голосов
/ 07 июля 2011

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

API Карт Android позволяет встраивать Карты Google в ваши собственные приложения для Android. Один ключ API Карт действителен для всех приложений, подписанных одним сертификатом. Смотрите эту страницу документации для получения дополнительной информации о подписании приложения. Чтобы получить ключ API Карт для вашего сертификата, вам нужно будет предоставить его отпечаток сертификата. Это можно получить с помощью Keytool. Например, в Linux или Mac OSX вы можете проверить хранилище ключей отладки следующим образом:

См. Регистрация в API Карт Android .

Это часто означает, что вам нужен ключ для отладочных сборок, а другой - для релиз-сборок (например, подписанный пакет приложений для Android-маркета).

0 голосов
/ 14 июля 2011

Спустя долгое время его сработало. Но все еще не получил, где была проблема на самом деле, ничего, что я изменил, просто я поделился debug.keystore с моим другом, и он работал. В любом случае спасибо за ответ ...

0 голосов
/ 07 июля 2011

См. Следующую ссылку при отображении карты Google. Это может помочь вам

Учебное пособие по использованию карты Google

...