でURLからマーカーを追加すると、私は私はマーカーとして<a href="http://square.github.io/picasso/" rel="noreferrer">Picasso library</a></p> <p>を使用してURLからマイマップにマーカーを追加しているピカソ
for(int x =0; x < mapIcon_url.length; x++){
Picasso.with(getActivity()).load(mapIcon_url[x]).resize(marker_size, marker_size+15).into(new Target() {
@Override
public void onSuccess(Bitmap b) {
bitmapMarker = BitmapDescriptorFactory.fromBitmap(b);
//create marker option
if(b != null)
markerOptions = new MarkerOptions().position(marker_position).icon(bitmapMarker));
else
markerOptions = new MarkerOptions().position(marker_position).icon(BitmapDescriptorFactory.fromResource(R.drawable.placeholder_pin)).snippet(String.valueOf(x));
marker = map.addMarker(markerOptions);
}
@Override
public void onError() {
//create marker option
markerOptions = new MarkerOptions().position(marker_position).icon(BitmapDescriptorFactory.fromResource(R.drawable.placeholder_pin)).snippet(String.valueOf(x));
marker = map.addMarker(markerOptions);
}
});
}
代わりにターゲットを使用しようとしたImageViewのではありませんこれをループして約20個のマーカーを追加していますが、コードの最初の実行時に5〜7個のマーカーしか追加されていないので、libとAsyncTaskをこのように使用しました。私はしかし
for(int x =0; x < mapIcon_url.length; x++){
new AddMarker().execute(mapIcon_url[x]);
}
public class AddMarker extends AsyncTask<String, Integer, BitmapDescriptor> {
BitmapDescriptor bitmapMarker1;
VenueDetails myVenue;
@Override
protected BitmapDescriptor doInBackground(String... url) {
myUrl = url[0];
try {
bitmapMarker1 = BitmapDescriptorFactory.fromBitmap(Picasso.with(getActivity()).load(myUrl).resize(marker_size, marker_size+15).get());
} catch (IOException e) {
e.printStackTrace();
}
return bitmapMarker1;
}
protected void onPostExecute(BitmapDescriptor icon) {
try {
map.addMarker(new MarkerOptions().position(marker_position).icon(icon)));
} catch (Exception e) {
e.printStackTrace();
}
}
}
は、ビットは、私は、マーカーの多くは、約100になる私の質問は、これは、これを行うための最善の方法であると言う持っている場合、この方法は私にいくつかの問題を与えることができる心配していない場合はどのような他のオプションができます私は試してみる。
私は最初のアプローチのデバッグに焦点を合わせます。ブレークポイントやロギングステートメントを使用して、マーカーの取得に失敗した場所を特定します。 – CommonsWare
ピカソクラスを呼び出す直前に、ターゲットのonSucessメソッドとonErrorオーバーライドメソッドでloggingステートメントを使用しました。ログは外観が20回呼び出されたことを示し、onSucessは数回呼び出され、onErrorは決して呼び出されませんでした。 –
Jakeは昨日Picasso 2.0.0をリリースしました。それ以外の場合は、再現可能なテストケースを作成し、Picassoプロジェクトで問題を提出してみてください。私はあなたが持っているものに特別な問題は見ません。 – CommonsWare