2016-04-04 19 views
1

この件に関しては同じような質問が多いようですが、別のプログラミング言語(私はJavaでプログラミングしています)を使用するか、質問に答えません。データベースからGoogleマップへの読み込み

私はAndroidスタジオを使用してGoogleマップアプリケーションを作成しています。データベースから値を読み取って、地図上にマーカーを作成したいと思います。これらの値は、マーカーの緯度と経度(つまり、マーカーの正確な位置)の値になります。

私はデータベースを作成し、その中に値を追加しました(私はこれを正しく行ったと思います - 私は多くのオンラインチュートリアルに従っています)。私はまた、正常に動作しているGoogleマップを持っています。しかし、データベースから緯度と経度の値を読み取って対応する場所にマーカーを生成できるようにマップを取得する方法について悩まされています。

Androidスタジオでは、私はGoogleMapsActivityを持っています。私はデータベースのいくつかのJavaクラスを持っています。私はAndroidManifest.xmlとgoogle_maps_api.xmlを持っています。これは1つのパッケージにまとめられています(この情報のいずれかが役立つ場合)。

これはどのように行うのですか?

答えて

1

残念ながら、完全な解決策を提供するには十分な情報がありません。使用しているデータベース、データのフォーマット、まさにあなたが問題を抱えているものについて言及していません。

私はデータベースからデータをクエリし、Googleマップを設定できると仮定します。これらの値を使って地図にマーカーを追加する方法を説明します。 GoogleMapsActivityには、onMapReadyメソッドが必要です。あなたは、次のようなマーカーを追加するためにそれを使用することができます、あなたがバックグラウンドスレッドでgetLocations()を呼び出したいことがあり

public void onMapReady(GoogleMap map) { 
    MapsInitializer.initialize(mMapView.getContext()); 
    for (CustomLocation location : getLocations()) { 
      LatLng latLng = new LatLng(location.lat, location.lng); 
      map.addMarker(new MarkerOptions().position(latLng)); 
    } 
} 

public List<CustomLocation> getLocations() { 
    // here you read from your database to get your CustomLocation object 
    // containing latitude and longitude 
} 

注意、使用しているデータベースと、あなたが照会されているデータの量に応じて、および処理結果はUIスレッドで発生します。レルムのようなものを使用していて、大規模なデータセットを照会していない場合は、になります。

関連する問題