2014-01-22 34 views
0

我知道类似的问题之前已经问过,但没有解决的问题已经解决了我的问题,我一直试图从3天内解决这个问题,但没有成功。Android上的谷歌地图Eclipse

Recenlty我下面http://www.tutorialspoint.com/android/android_google_maps.htm 但即使这是有一个问题,我的应用程序崩溃每次我启动它在模拟器上 Eclipse中没有显示任何错误, 我相信与谷歌地图的关键。随着教程链接我M还放在我的代码:

Main.java

package com.example.bee; 

public class Main extends Activity { 
static final LatLng TutorialsPoint = new LatLng(21 , 57); 
private GoogleMap googleMap; 
@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main); 
    try { 
     if (googleMap == null) { 
      googleMap = ((MapFragment) getFragmentManager(). 
      findFragmentById(R.id.map)).getMap(); 
     } 
    googleMap.setMapType(GoogleMap.MAP_TYPE_HYBRID); 
    Marker TP = googleMap.addMarker(new MarkerOptions(). 
    position(TutorialsPoint).title("TutorialsPoint")); 

    } catch (Exception e) { 
    e.printStackTrace(); 
    } 

} 
} 

主要布局

<?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" > 

    <fragment 
     android:id="@+id/map" 
     android:name="com.google.android.gms.maps.MapFragment" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent"/> 

</RelativeLayout> 

Menifest文件

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

     <uses-permission android:name="com.example.googlemaps.permission.MAPS_RECEIVE" /> 

    <uses-sdk 
     android:minSdkVersion="19" 
     android:targetSdkVersion="19" /> 
    <permission 
     android:name="com.example.googlemaps.permission.MAPS_RECEIVE" 
     android:protectionLevel="signature" /> 

    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> 
    <uses-permission android:name="android.permission.INTERNET" /> 
    <uses-permission   android:name="com.google.android.providers.gsf.permission.READ_GSERVICES" /> 
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> 
    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /> 
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> 

    <uses-feature 
     android:glEsVersion="0x00020000" 
     android:required="true" /> 

    <application 
     android:allowBackup="true" 
     android:icon="@drawable/ic_launcher" 
     android:label="@string/app_name" 
     android:theme="@style/AppTheme" > 
     <activity 
      android:name="com.example.bee.Main" 
      android:label="@string/app_name" > 
      <intent-filter> 
       <action android:name="android.intent.action.MAIN" /> 

      <category android:name="android.intent.category.LAUNCHER" /> 
     </intent-filter> 
    </activity> 
    <meta-data 
     android:name="com.google.android.maps.v2.API_KEY" 
     android:value="my key"/> 
    </application> 

</manifest> 
+0

什么logcat的显示应用程序崩溃的时候?你有没有试过在物理设备上运行它? – Adam

回答

0

您将需要以下meta-data标记添加到您的Manifest文件以及:

<meta-data 
android:name="com.google.android.gms.version" 
android:value="@integer/google_play_services_version" /> 

ASLO改变这一部分:

<uses-permission android:name="com.example.googlemaps.permission.MAPS_RECEIVE" /> 
<uses-sdk 
    android:minSdkVersion="19" 
    android:targetSdkVersion="19" /> 
<permission 
    android:name="com.example.googlemaps.permission.MAPS_RECEIVE" 
    android:protectionLevel="signature" /> 

与此:

<uses-sdk 
    android:minSdkVersion="19" 
    android:targetSdkVersion="19" /> 
<uses-permission android:name="com.example.bee.permission.MAPS_RECEIVE" /> 
<permission 
    android:name="com.example.bee.permission.MAPS_RECEIVE" 
    android:protectionLevel="signature" /> 

你必须将这些包的权限更改为您的包。

并尝试按照下面的博客文章我就这个话题说:

Google Maps API V2 Guide

也许你会有更好的运气:)

+0

@ Emil Adz,我做了您所建议的更改,并且还访问了博客,并在其中跟随您的代码,但在尝试启动应用程序时,会出现一个白色背景活动,并显示以下消息“Google Play服务您的某些应用程序依赖于,您的设备不支持“ –

+0

您正在真实设备上进行测试吗? –