こんにちは、私は最近、Google Map API v2に関するVogellaのチュートリアルに従いました。コードは彼に似ています。ただし、何らかの理由でマップが空白で表示され、logcatでもエラーは表示されません。私もこれに従いました video SHA1フィンガープリントを取得し、マニフェストファイル内にAPIキーを配置しました。デバッグキーストアC:\ Users\UserName.Android\debug.keystoreを使用しました。これは、Eclipse-> Windows-> Preference-> Android-> Build。
また、新しいAPIキーを生成しましたが、まだ機能しません。
マニフェストファイル:
<manifest xmlns:Android="http://schemas.Android.com/apk/res/Android"
package="com.example.barcodelibrary"
Android:versionCode="1"
Android:versionName="1.0" >
<uses-sdk
Android:minSdkVersion="11"
Android:targetSdkVersion="15" />
<permission
Android:name="com.example.mapdemo.permission.MAPS_RECEIVE"
Android:protectionLevel="signature" />
<uses-feature
Android:glEsVersion="0x00020000"
Android:required="true" />
<uses-feature Android:name="Android.hardware.camera" />
<uses-feature Android:name="Android.hardware.camera.autofocus" />
<uses-feature Android:name="Android.hardware.camera.flash" />
<uses-permission Android:name="Android.permission.INTERNET"/>
<uses-permission Android:name="Android.permission.CAMERA"/>
<uses-permission Android:name="Android.permission.INTERNET"/>
<uses-permission Android:name="Android.permission.VIBRATE"/>
<uses-permission Android:name="Android.permission.ACCESS_NETWORK_STATE" />
<uses-permission Android:name="Android.permission.SET_DEBUG_APP"></uses-permission>
<application
Android:icon="@drawable/ic_launcher"
Android:label="@string/app_name"
Android:theme="@style/AppTheme" >
<activity
Android:name=".HomeActivity"
Android:label="@string/title_activity_home" >
<intent-filter>
<action Android:name="Android.intent.action.MAIN" />
<category Android:name="Android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity Android:name=".ScanActivity"/>
<activity Android:name=".MapActivity"/>
<activity Android:name=".BarcodeHelper"/>
<activity Android:name=".JsonHelper"/>
<meta-data
Android:name="com.google.Android.maps.v2.API_KEY"
Android:value="my api key" />
</application>
</manifest>
これは、マップアクティビティのレイアウトファイルです。
<RelativeLayout xmlns:Android="http://schemas.Android.com/apk/res/Android"
xmlns:tools="http://schemas.Android.com/tools"
Android:layout_width="match_parent"
Android:layout_height="match_parent"
tools:context=".MapActivity" >
<fragment
Android:id="@+id/map"
Android:layout_width="match_parent"
Android:layout_height="match_parent"
class="com.google.Android.gms.maps.MapFragment" />
</RelativeLayout>
これは私のマップアクティビティです。
public class MapActivity extends Activity
{
static final LatLng HAMBURG = new LatLng(53.558, 9.927);
static final LatLng KIEL = new LatLng(53.551, 9.993);
private GoogleMap map;
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_map);
map = ((MapFragment) getFragmentManager().findFragmentById(R.id.map))
.getMap();
Marker hamburg = map.addMarker(new MarkerOptions().position(HAMBURG)
.title("Hamburg"));
Marker kiel = map.addMarker(new MarkerOptions()
.position(KIEL)
.title("Kiel")
.snippet("Kiel is cool")
.icon(BitmapDescriptorFactory
.fromResource(R.drawable.ic_launcher)));
}
@Override
public boolean onCreateOptionsMenu(Menu menu)
{
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.activity_map, menu);
return true;
}
}
ありがとう!
マニフェストにはいくつかの許可の問題があります。まず、以下ではパッケージ名をパッケージに置き換える必要があります。また、uses-permission
<permission
Android:name="com.example.mapdemo.permission.MAPS_RECEIVE"
Android:protectionLevel="signature" />
パッケージ名ごとに、-
<permission
Android:name="com.example.barcodelibrary.permission.MAPS_RECEIVE"
Android:protectionLevel="signature"/>
<uses-permission Android:name="com.example.barcodelibrary.permission.MAPS_RECEIVE"/>
最後に、 Getting Started Guide -の 許可の指定 セクションから次の許可が欠落しているようです。
<uses-permission Android:name="Android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission Android:name="com.google.Android.providers.gsf.permission.READ_GSERVICES"/>
<uses-permission Android:name="Android.permission.ACCESS_COARSE_LOCATION"/>
<uses-permission Android:name="Android.permission.ACCESS_FINE_LOCATION"/>
私にとっては、 Google Maps Android API v2
。同じと思われる別のGoogle Maps APIを使用していました。
それでもうまくいかなかった場合は、これに従ってください
マップの空白画面の問題を解決する:こんにちは、私は非常に長い間この空白画面を経験し、想像できるすべての解決策を試しました。今では解決し、手順は次のとおりでした:
1 - このチュートリアル のすべての手順を慎重に実行します。
2-空白の画面がまだ同じ場合は、c:\ Users\youUser.Android\debug.keystoreに存在するキーストアファイルを削除します<-このファイルを削除します
3-eClipsでIDEこのファイルを自動的に再作成するようにアプリを再構築します。 SHA1を実行し、通常のキー生成手順に従います。5-実際のデバイスで実行します。マップが表示されることを願っています。
次の構成を備えたamulatorでアプリを実行する必要があります。..1)Google API(x86システムイメージ)2)Use Host GPUを示すcheckBoxを選択します。
Google Developer Consoleに正しいSHA-1証明書のフィンガープリントを追加する必要がありました。
現在の指紋を表示します:keytool -list -keystore ~/.Android/debug.keystore
指紋をコピーします(例:48:6F:55:B7:C5:E4:54:E1:29:D5:E1:E1:E2:A8 )
Google Developer Console の特定のアプリの資格情報に追加します
マップにも同様の問題があります。すべてのlibとキーの問題を修正した後、「Google」とラベル付けされた白いスクリーンが見られました。問題は、MapFragment
をScrollView
に入れることでした。 ScrollView
を削除すると、すべて正常に機能します。地図を見ることができます。
カスタムキーソートをデフォルトのキーソート(Eclipse)と同じに設定します。ドキュメントに記載されているとおり、GoogleコンソールでAPIキーを登録します。
他の投稿の私の答え は実際に私のために働くものです、私はアプリ署名証明書sha-1を貼り付けます
ほとんどの人は、 Google Maps Android開発者コンソールのAPI V2 )を有効にすることを忘れてしまいました。