オーバレイを表示できるアクティビティがあります。このオーバーレイにはウェブから取得するマーカーがあります。MapViewオーバーレイのURLからのマーカー遅延読み込みの実装方法
このマーカーのURLから遅延読み込みを実装するにはどうすればよいですか?
Thxを、イゴール
オーバレイを表示できるアクティビティがあります。このオーバーレイにはウェブから取得するマーカーがあります。MapViewオーバーレイのURLからのマーカー遅延読み込みの実装方法
このマーカーのURLから遅延読み込みを実装するにはどうすればよいですか?
Thxを、イゴール
は何をする必要がある、あなたのデータを取得するためのAsyncTaskを作成して取得することです。非同期タスクが実行され、データがあると、UIスレッドはonPostExecute()を呼び出します。 onPostExecute()メソッドでは、サンプルのアンドロイドコードと同じようにデータをマップビューに追加します。
これは、ほとんど完全な例です。あなたはこれで穴を埋めることができるはずです。
public class SomeActivity extends MapActivity {
private MapView mYourMapView;
protected void onCreate(Bundle yourbundle){
super.onCreate(yourbundle);
setContentView(R.layout.yourcontentview);
mYourMapView = (MapView)findViewById(R.id.yourmapviewid);
GetYourDataTask task = new GetYourDataTask(mYourMapView);
task.execute();
}
}
public class GetYourDataTask extends AsyncTask<Void, Void, Void>{
private MapView mView;
private List<Items> mYourItemsFromInternetSource;
public GetYourDataTask(MapView view){
this.mView = view;
}
protected Void doInBackground(Void... params){
.....get some data from internets
mYourItemsfromInternetSoruce = something you got from internet;
return null;
}
protected Void onPostExecute(){
YourOverlay overlay = new YourOverlay(mYourItemsFromInterSource);
mView.getOverlays().add(overlay);
}
}
public YourOverlay extends ItemizedOverlay<OverlayItem>{
private List<OverlayItem> mItems;
public YourOverlay(List<Item> itemsFromInternet)[
super(boundCenterBottom(someContext.getResources().getDrawable(R.drawable.map_pin)));
//for your items create overlay items then
List<OverlayItem> createdItems = someConvertFunction(itemsFromInternet);
for(OverlayItem item: createdItems){
mItems.add(item);
populate();
}
}
}
は、あなたが私のMapViewとそのマーカーといくつかのサンプルをお願いできhttp://developer.android.com/reference/android/os/AsyncTask.html –
を使用してあなたのバックグラウンド・プロセス内のすべてのデータを作ってみますか? – ihrupin
あなたは知っていますか? http://developer.android.com/guide/tutorials/views/hello-mapview.html –