0

我无法使用 google map v2 片段创建活动。自定义片段工作正常,这只是 MapFragment 的问题。

<?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">
<fragment
    class="com.google.android.gms.maps.SupportMapFragment"
    android:id="@+id/mapfragment"
    android:layout_width="match_parent"
    android:layout_height="match_parent" />

这是错误:

mvx:Diagnostic: 36.27 Showing ViewModel TruckWashMapViewModel
[0:] mvx:Diagnostic: 36.27 Showing ViewModel TruckWashMapViewModel
07-03 17:24:51.184 I/mono-stdout(16230): mvx:Diagnostic: 36.27 Showing ViewModel TruckWashMapViewModel
07-03 17:24:51.214 I/Choreographer(16230): Skipped 297 frames!  The application may be doing too much work on its main thread.
Resolved pending breakpoint at 'c:\_Application\BLUBCNMOBL\src\BLUBCNMOBL.Droid\Views\TruckWashMapView.cs:17,1' to OnCreate [0x00001].
[0:] mvx:Diagnostic: 40.71 Loading new ViewModel from Intent with Extras
[0:] mvx:Diagnostic: 40.71 Loading new ViewModel from Intent with Extras
07-03 17:24:55.629 I/mono-stdout(16230): mvx:Diagnostic: 40.71 Loading new ViewModel from Intent with Extras
[0:] 
MvxBind:Error: 42.60 View type not found - fragment
[0:] MvxBind:Error: 42.60 View type not found - fragment
07-03 17:24:57.511 I/mono-stdout(16230): MvxBind:Error: 42.60 View type not found - fragment

进一步查看堆栈跟踪,看起来 API 密钥有错误。但我在 AndroidManifest.xml 中有我的 API 密钥。

07-05 14:55:02.231 I/MonoDroid(31877): Caused by: java.lang.RuntimeException: API key not found.  Check that <meta-data android:name="com.google.android.maps.v2.API_KEY" android:value="your API key"/> is in the <application> element of AndroidManifest.xml

AndroidManifest.xml

<application android:icon="@drawable/logo"
                 android:debuggable="true"
                 android:enabled="true"
                 android:persistent="false"
                 android:allowClearUserData="true">
        <meta-data android:name="com.google.android.maps.v2.API_KEY" android:value="xxx" />
4

3 回答 3

1

我应该发布我的整个 AndroidManifest.xml。问题是我在清单中有 2 个应用程序节点。

于 2013-07-09T16:27:03.140 回答
0

任何片段都会出现此问题吗?或者只是为了一个地图片段?

您可以使用 ViewGroup 解决此问题并将片段动态加载到其中吗?

作为参考,片段的 N+1 视频包含<fragment>标签 - n=26 - 这表明片段正在加载并使用 nuget 包 3.0.8.1 记录

如果现在所有的碎片都坏了,那么我猜自这个 3.0.8.1 版本以来有些东西已经坏了——在这种情况下,报告一个问题和/或对项目的修复。

如果此问题特定于您的地图导入,那么我想您将需要进行更多的调试和调查才能解决问题。

于 2013-07-03T23:08:44.173 回答
0

如果您使用的是未修改版本的 MvvmCross (3.0.8.1),那么您需要使用 com.google.android.gms.maps.SupportMapFragment 而不是 com.google.android.gms.maps.MapFragment

尝试使用它来显示地图片段

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

我观察到 API 密钥存在类似问题。我的问题是由 Google API 控制台中的错误设置引起的。实际上有两种服务可供选择,分别是“Google Maps Android API v2”和“Google Maps API v2”。您能否在“服务”选项卡中验证您是否已实际激活“Google Maps Android API v2”服务。

于 2013-07-06T17:52:18.273 回答