【问题标题】:Android Google Maps using Eclipse使用 Eclipse 的 Android 谷歌地图
【发布时间】:2014-06-25 11:52:50
【问题描述】:

虽然我在developers site 中做了它要求我做的所有事情

好几次我都无法让地图正常工作。我什至尝试更换电脑并重试。当我尝试启动应用程序时,它说 gmap 不幸停止工作

这是我的 MainActivity.java:``

public class MainActivity extends ActionBarActivity {
private GoogleMap map;
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
        map = ((MapFragment) getFragmentManager().findFragmentById(R.id.map)).getMap();
    }
}

activity_main.xml:

<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=".MainActivity" >

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

当我检查 logcat 时,它说在片段开始的主 xml 文件中存在错误。你能帮帮我吗?

【问题讨论】:

  • 您是在模拟器还是设备上尝试?模拟器不久前与 v2 谷歌地图有问题,我不知道随着时间的推移是否已经修复。
  • 您的构建路径是否正确,class="com.google.android.gms.maps.MapFragment" 片段是否实际可用于您的应用程序?
  • 我已经完成了我的道路,多次检查我的整个代码以确定。我正在使用模拟器,但也许这就是问题所在。我明天将在平板电脑上试用并提供反馈
  • 好吧,要么是权限错误,要么是您的 API 密钥设置不正确
  • 在 Eclipse 中,在 window/preferences -> android/build 下我选择了我的 debug.keystore 并将 SHA1 复制到 code.google 站点以获取我的 API 密钥并粘贴到我的 AndroidManifest.xml 内

标签: android eclipse google-maps


【解决方案1】:

尝试将所有必需的权限/api-key 放入您的应用程序清单文件中!

如果您已经这样做了,请在此处发布整个异常。

【讨论】:

  • 06-25 12:47:50.302: E/AndroidRuntime(592): 致命异常: main 06-25 12:47:50.302: E/AndroidRuntime(592): java.lang.RuntimeException:无法启动活动 ComponentInfo{com.ak52.gmap/com.ak52.gmap.MainActivity}:android.view.InflateException:二进制 XML 文件第 7 行:膨胀类片段时出错
  • 第 7 行是
【解决方案2】:

我希望你用&lt;/RelativeLayout&gt; 关闭你的RelativeLayout。

另外,我使用 android:name="com.google.android.gms.maps.SupportMapFragment" 而不是 class="com.google.android.gms.maps.MapFragment" 但你的方式也可以很好。

在我的 onCreate 中我做了

SupportMapFragment mf = (SupportMapFragment) getSupportFragmentManager()
                    .findFragmentById(R.id.map);

我从来没有像你那样调用过 .getMap,它确实有效。我猜值得一试。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-08-16
    • 2012-03-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-07
    • 2014-08-11
    • 2012-11-27
    • 2015-12-19
    相关资源
    最近更新 更多