3

そのため、過去 2 日間、この GreyGridOfDoom™ に対処しようとしてきましたが、結果はありませんでした。私は数十の SO 投稿を読み、トピックに関する少なくとも 100 の Google 検索結果をスキップしました。

これまでの話:

  • Google API ACCESS Web サイトから Android API キーを取得しました。
  • GGOD は取得できますが、マップ データは取得できません。ズームキーなどは問題なく機能します。
  • これまでにおそらく15の異なるソリューションを試しました。
  • さまざまなGOOGLE APIバージョンでいくつかの AVD を作成しましたが、まったく同じように動作するものはありませんでした。正確に言うと、私は 8-14 を試しました。
  • ログの「[MapActivity] 接続ファクトリ クライアントを取得できませんでした」は、すべての地獄が解き放たれるポイントです。
  • MapActivity と最新の Google Play Services を使用しています。
  • 私のキーは、.android フォルダーにある debug.keystore を使用して生成されます。

そうそう。API キーが悪いと直感的に感じていますが、それについてはよくわかりません。

関連するコードは次のとおりです。

MapsActivity.cs

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;

    using Android.Support.V4.App;
    using Android.App;
    using Android.Content;
    using Android.OS;
    using Android.Runtime;
    using Android.Views;
    using Android.Widget;
    using Android.GoogleMaps;

    namespace IgluHarkka2
    {
        [Activity (Label = "MapsActivity", MainLauncher = true)]            
        public class MapsActivity : MapActivity
        {
            protected override void OnCreate(Bundle bundle)
            {
                base.OnCreate(bundle);
                SetContentView(Resource.Layout.Map);
                MapView mapView = (MapView) FindViewById(Resource.Id.mapView);
                mapView.SetBuiltInZoomControls (true);
            }

            protected override bool IsRouteDisplayed 
            {
                get {return false;}
            }
        }
    }

Map.xml

    <?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">
        <com.google.android.maps.MapView
            android:id="@+id/mapView"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:enabled="true"
            android:clickable="true"
            android:apiKey="XXXXXXXXXX" />
    </RelativeLayout>

AndroidManifest.xml

    <?xml version="1.0" encoding="utf-8"?>
    <manifest xmlns:android="http://schemas.android.com/apk/res/android" android:versionCode="1" android:versionName="1.0" package="IgluHarkka2.IgluHarkka2">
                <uses-sdk android:minSdkVersion="7" />
            <application android:label="IgluHarkka2">
                <uses-library android:name="com.google.android.maps" />  
            </application>
                <permission android:name="com.IgluHarkka2.IgluHarkka2.permission.MAPS_RECEIVE" android:protectionLevel="signature"/>  

                <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_NETWORK_STATE" />
                <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" />
        </manifest>

ここで私は基本的に問題について真似をして、パッケージ名をスパムして、それが問題かどうかを確認します... Api Accessのスクリーンショット

誰かがこの問題を解決できれば、私は生きている中で最も幸せな人になるでしょう. 現時点では解決策がないため、このページを頻繁に更新します。私はこれを理解することはできません:<

編集:詳細:

アプリケーション出力

    Forwarding debugger port 8897
    Forwarding console port 8898
    Detecting existing process
    [monodroid-gc] GREF GC Threshold: 1800
    Loaded assembly: IgluHarkka2.dll
    Loaded assembly: GooglePlayServicesLib.dll [External]
    Loaded assembly: Newtonsoft.Json.dll [External]
    Loaded assembly: Mono.Android.GoogleMaps.dll [External]
    Loaded assembly: Mono.Android.dll [External]
    [MonoDroid] Xamarin/Android Trial Mode Active
    [dalvikvm-heap] Grow heap (frag case) to 7.236MB for 441776-byte allocation
    [gralloc_goldfish] Emulator without GPU emulation detected.
    Loaded assembly: System.Core.dll [External]
    Loaded assembly: MonoDroidConstructors [External]
    [CursorWrapperInner] Cursor finalized without prior close()
    [CursorWrapperInner] Cursor finalized without prior close()
    [MapActivity] Handling network change notification:CONNECTED
    [MapActivity] Couldn't get connection factory client
    [System.err] IOException processing: 26
    [System.err] java.io.IOException: Server returned: 3
    [System.err]    at android_maps_conflict_avoidance.com.google.googlenav.map.BaseTileRequest.readResponseData(BaseTileRequest.java:115)
    [System.err]    at android_maps_conflict_avoidance.com.google.googlenav.map.MapService$MapTileRequest.readResponseData(MapService.java:1473)
    [System.err]    at android_maps_conflict_avoidance.com.google.googlenav.datarequest.DataRequestDispatcher.processDataRequest(DataRequestDispatcher.java:1117)
    [System.err]    at android_maps_conflict_avoidance.com.google.googlenav.datarequest.DataRequestDispatcher.serviceRequests(DataRequestDispatcher.java:994)
    [System.err]    at android_maps_conflict_avoidance.com.google.googlenav.datarequest.DataRequestDispatcher$DispatcherServer.run(DataRequestDispatcher.java:1702)
    [System.err]    at java.lang.Thread.run(Thread.java:856)

エミュレーターのスクリーンショット: スクリーンショット

4

1 に答える 1

1

MapActivity から FragmentActivity に変更した後、このエラーを回避しました。その後、別のエラーが発生し、プロジェクトに Google Play Services がない/見つからないというメッセージが表示されました。この時点で、エミュレータが原因ではないかと考え始めたので、オフィスにある開発用電話に新しいバージョンをデプロイしようとしましたが、BOOM が動作しました。したがって、このエラーが発生して修正する方法がない場合は、マップを作成する Fragment の方法を試すことをお勧めします。

于 2013-08-13T09:30:13.087 に答える