public NMapCalloutCustomOverlayView(
      Context context, NMapOverlay itemOverlay, NMapOverlayItem item, Rect itemBounds) {
    super(context, itemOverlay, item, itemBounds);

    String infService = Context.LAYOUT_INFLATER_SERVICE;
    LayoutInflater li = (LayoutInflater) getContext().getSystemService(infService);
    li.inflate(R.layout.map_callout_overlay_view, this, true);

    mCalloutView = findViewById(R.id.callout_overlay);
    mCalloutText = (TextView) mCalloutView.findViewById(R.id.callout_text);
    mRightArrow = findViewById(R.id.callout_rightArrow);

    mCalloutView.setOnClickListener(callOutClickListener);

    mCalloutText.setText(item.getTitle());

    if (item instanceof NMapPOIitem) {
      if (((NMapPOIitem) item).hasRightAccessory() == false) {
        mRightArrow.setVisibility(View.GONE);
      }
    }
  }