Я использую ItemizedOverlay на Google Maps в приложении для Android. Мое расширение ItemizedOverlay показано ниже.
Странно то, что я вижу маленькую линию от позиции около 8 часов до позиции 2 часа в каждом случае наложения. Оверлей - это png, который находится в моих ресурсах приложения (который, очевидно, не имеет странной строки). Я приложил пример необработанного оверлея png (R.drawable.green) здесь:
А вот что я вижу в приложении для Android:
(Отчасти вам нужно присмотреться, чтобы увидеть серую линию, о которой я говорю. Она под зелеными точками и под маленькой иконкой самолета.)
Наложение добавляется следующим образом:
ReportOverlay itemizedoverlay = new ReportOverlay(getResources().getDrawable(R.drawable.green),mContext);
GeoPoint point = new GeoPoint(pr.getLat(),pr.getLng());
OverlayItem overlayitem = new OverlayItem(point, pr.getReport(),pr.getReport());
itemizedoverlay.addOverlay(overlayitem);
Есть идеи, откуда взялась эта загадочная линия в оверлее?!
public class ReportOverlay extends ItemizedOverlay<OverlayItem> {
protected ArrayList<OverlayItem> mOverlays = new ArrayList<OverlayItem>();
Context mContext;
public ReportOverlay(Drawable defaultMarker) {
super(boundCenter(defaultMarker));
}
public ReportOverlay(Drawable defaultMarker, Context context) {
super(boundCenter(defaultMarker));
mContext = context;
}
public void addOverlay(OverlayItem overlay) {
mOverlays.add(overlay);
populate();
}
@Override
protected OverlayItem createItem(int i) {
return mOverlays.get(i);
}
@Override
protected boolean onTap(int index) {
OverlayItem item = mOverlays.get(index);
AlertDialog.Builder dialog = new AlertDialog.Builder(mContext);
dialog.setTitle(item.getTitle());
dialog.setMessage(item.getSnippet());
dialog.show();
return true;
}
@Override
public int size() {
return mOverlays.size();
}
}