2017-03-14 12 views
0

ここではマップに問題があります。ここでは同じデバイスの複数のアプリにマップしています

同じデバイスにマップを使用している別のアプリがある場合、ここで地図を初期化するときに「UNKNOW ERROR」と表示されます。

つまり、同じデバイス上の複数のアプリでHEREマップを実行することはできません。我々は、両方のアプリケーションのための別の資格情報を持っています。

私の質問は、同じデバイス上で のマップを使用して複数のアプリを実行するにはどうすればよいですか?

初期化コード:

private void initHereMaps() { 
     final MapFragment mapFragment = (MapFragment) getFragmentManager().findFragmentById(R.id.mapFragment); 
     ProgressDialogUtility.showProgressDialog(context, "Initializing map..."); 
     mapFragment.init(this, new OnEngineInitListener() { 
      @Override 
      public void onEngineInitializationCompleted(Error error) { 

       //if no error occurs 
       if (error == Error.NONE) { 



       } else { 
        //if error occurred during initialization, display toast message 
        L.e("Map initialization error " + error); 
        Toast.makeText(context, "Map initialization error " + error, Toast.LENGTH_SHORT).show(); 
       } 
      } 
     }); 


    } 

答えて

0

これが問題になることはありませんし、実際にはHERE SDKと同じ一般的な地図データを共有する(すなわち、共有ディスクキャッシュ)を使用して実行している複数のアプリケーションを持つことがサポートされています。

グローバルMapServiceを適切に含めるには、Embedding the Map Service documentationに記載されていますか?同じページの指示に従って、両方のアプリケーションで独立したディスクキャッシュを使用して、これが役立つかどうかを確認することもできます。

上記がOKと思われる場合は、OnEngineInitListener#Error enumから追加情報を印刷して提供してください。 getDetails(),getStackTrace()のAPIを使用できます。

+0

ええ、孤立したディスクキャッシュとカスタムマップサービスを使用するとうまくいきます。しかし、ディスクキャッシュなしで複数のアプリを並行して実行する方法はありますか? –

+0

グローバル 'MapService'(例:上記のリンクの最初のサービススニペット)を使用している場合は、独立したディスクキャッシュを使う必要はなく、共有キャッシュはgetExternalStorageDirectory()/。here-maps(onほとんどのデバイスsdcard/.here-maps)。このグローバルサービスエントリを使用していて問題が残っている場合は、上記のAPIを使用してエラーの詳細を追加してください。また、デバイス上でキャッシュクリーニングアプリケーションを実行していないことを確認する必要があります[詳細情報](https://developer.here.com/mobile-sdks/documentation/android-hybrid-plus/topics/development-tips。 html) – AndrewJC

関連する問題